2017-03-27 54 views
1

我有一棵樹可以按照自下而上的順序進行迭代。 例如,我有就像一棵樹:Spark:樹算法中RDD持久性的使用

isEmpty 
    | 
    union 
/ \ 
t_m t_n 
|  | 
... ... 
|  | 
t_n+1 t_1 

其中t_i一個RDD這得到了與t_i-1的使用改變。所以聯合函數需要兩個子RDD。自底向上算法將迭代列表:(t_1,...,t_n,t_n + 1,...,t_m,union)。

我的問題是,它是否使堅持 RDD t_n?

因爲在計算t_n之後,進行了很多進一步的計算(t_n + 1到t_m)。如果Spark以LRU方式緩存,那麼我認爲我應該堅持t_n。

謝謝!

回答

0

聯合不是一個操作操作。您應該在觸發操作後緩存/保留rdd。

+0

sry我現在編輯。 –

+0

如果rdd包含很多數據並且計算耗費時間,則應該持久化該數據。但緩存/持久也佔用資源,因此必須謹慎使用。 – Wang