我们是否需要为单个操作调用缓存?

时间:2018-01-04 07:47:32

标签: scala apache-spark

例如,我有一个spark会话,此会话只包含一个动作和许多转换。任务执行期间没有分区失败。那么cache在这种情况下是不必要的吗?因为缓存用于操作之间的共享rdd。

2 个答案:

答案 0 :(得分:3)

你几乎回答了自己的问题。

cache只有在您缓存的RDD上至少调用一个操作后才会生效。这意味着RDD的整个DAG需要至少从头开始计算一次。

由于您只有一个操作,cache将不会执行任何操作。除了吃掉执行者的记忆。

答案 1 :(得分:1)

不,您不需要在案件中致电TextField