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



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

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

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

由于您只有一个操作,因此cache不会执行任何操作。除了消耗你的执行者记忆。

不,在这种情况下,您不需要调用cache()

最新更新