了解何时在Spark中检查点

时间:2018-10-03 10:28:03

标签: apache-spark pyspark

我不完全理解缓存/检查点在Spark中的工作方式,我想知道是否应该在以下(过于简化的)代码内使用检查点:

initialRDD = sc.wholeTextFiles("path")
.
. some quite heavy transformations and ETL
. 
finalRDD = result of all those trasformations

firstResult = finalRDD.map(some func).collect()
secondResult = finalRDD.map(some other func).collect()

从我的角度来看,finalRDD将被计算两次,每个collect()动作将被计算一次。从Spark文档中,cache方法将保持整个行数,因此我不知道在缓存finalRDD之后是否将计算两次或一次。

我应该对其进行缓存,检查点还是Spark足够聪明以仅计算一次?

0 个答案:

没有答案