Spark中RDDS的物化是什么?

问题描述 投票:0回答:1

我一直在寻找物化的含义,并且不断获得 persist() 函数的链接。但更根本和概念上,Rdds 的物化有什么帮助?它是什么?

scala apache-spark rdd
1个回答
0
投票

当我们需要对同一个数据帧进行不同的计算时,Spark 每次都会重新计算数据帧。这不是一个优化的方法。

Materialize 是一个 Spark action。这会报告 Spark 数据帧已被计算。一旦数据帧被具体化,当稍后重用该数据帧时,Spark 会跳过具体化之前的所有阶段。

数据帧的

缓存/持久化是惰性的。第一次在操作中计算数据集时,它将保存在节点的内存中。 Materialize 是一个运行作业的操作,该作业生成数据框表示的数据行,并返回包含结果的新数据框。当使用结果数据帧时,Spark 使用上次 shuffle 中的数据恢复执行。

此外,通过重用shuffle数据,物化数据由集群的持久shuffle服务器而不是Spark执行器提供服务。这使得具体化更加可靠。另一方面,缓存发生在任务运行的执行器中,如果执行器因不活动而超时或内存不足,数据可能会丢失。

请参阅 JIRa 票证了解详细说明 物化数据帧

© www.soinside.com 2019 - 2024. All rights reserved.