Spark Transformations
被懒惰地评估 - 当我们调用 Action 时,它会根据谱系图执行所有转换。
懒惰地评估转换有什么好处?
它会改善performance
和更少的memory consumption
与热切评价相比?
懒惰地评估转换有什么缺点吗?
最佳答案
对于转换,Spark 将它们添加到计算的 DAG 中,并且只有当驱动程序请求一些数据时,该 DAG 才会真正执行。
这样做的一个好处是,Spark 可以在有机会全面查看 DAG 之后做出许多优化决策。如果它一得到它就执行一切,这是不可能的。
例如——如果你急切地执行每一个转换,那意味着什么?嗯,这意味着你必须在内存中实现那么多中间数据集。这显然效率不高——一方面,它会增加你的 GC 成本。 (因为你真的对这些中间结果不感兴趣。这些只是你在编写程序时方便的抽象。)所以,你要做的是——你告诉 Spark 你感兴趣的最终答案是什么,并且它找出了到达那里的最佳方式。
关于apache-spark - Spark Transformation - 为什么它是懒惰的,有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38027877/