当我运行我的火花申请。产生了几个工作岗位。每个职务有几个阶段。
我在试验持续的RDDs。我要把一个RDD保存到磁盘上。但我无法判断它是否会在整个工作中重复使用。
当我查看DAG时,我确实看到了一个green dot
,它表示rdd是持久化的。但是我也在后台看到了前面的映射/过滤器等等。
例如,在Job-0DAG中,我看到:
RandomRDD [0] -> MapParitionRDD [1] -> MapParitionRDD [2] (green) -> Filter [3]...
对于Job-1DAG,我也看到了:
RandomRDD [0] -> MapParitionRDD [1] -> MapParitionRDD [2] (green) -> Filter [3]...
如何判断rdd、rdd1和rdd2是重新计算的还是只是脱水的?
一般来说,通过查看工作历史,你如何判断rdd是被重新计算了还是简单地脱水了?
发布于 2016-06-09 16:14:09
生成持久化RDDs上游(如0& 1)和持久化RDDs (2)所需的计算将不进行。为了测试它,在RDD2上做一些简单的计算,然后在持久化之前和持久化之后,注意时间上的差异。
火花持久化文档
Spark中最重要的功能之一是跨操作在内存中持久化(或缓存)数据集。当您持久化一个RDD时,每个节点存储它在内存中计算的任何分区,并在该数据集(或从中派生的数据集)上的其他操作中重用它们。这使得未来的操作更快(通常超过10倍)。缓存是迭代算法和快速交互使用的关键工具。
https://stackoverflow.com/questions/37730997
复制相似问题