2017-03-27 24 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