如何掌握中间结果?

时间:2014-09-26 09:18:41

标签: apache-spark

我正在使用Apache Spark作为MapReduce实现,并且想知道是否有办法获得中间结果。一旦所有映射步骤完成,简单的API允许collect来自触发应用程序的结果,最简单的形式,例如。

val results = mapResult.collect()

我有兴趣在完成时收集中间地图结果。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可以使用数据框的cache()方法来缓存计算结果,因此,当您稍后调用action时,它将使用缓存的结果而不是重新计算DAG。像这样:

# caches the result so the action called after this will use this cached
# result instead of re-computing the DAG
results.cache() 

results.show(1)

稍后,您可能需要释放用于缓存结果的内存:

results.unpersist()