Spark主存内存要求与数据大小有关

时间:2017-03-07 21:08:05

标签: apache-spark

Spark主内存要求是否与已处理数据的大小有关?

Spark驱动程序和Spark工作程序/执行程序直接处理已处理的数据(并执行应用程序代码),因此它们的内存需求可以链接到已处理数据的大小。但Spark主机是否受数据大小的影响?在我看来,它不是,因为它只管理Spark工作者,并且不直接使用数据本身。

1 个答案:

答案 0 :(得分:1)

Spark主要数据实体(例如DataFrame或DataSet)基于RDD或弹性分布式数据集。它们是分布式的,这意味着处理通常在执行程序中进行。

有些RDD操作将以驱动程序进程中的数据结尾。最值得注意的是collect和其他使用它的操作(例如showtaketoPandas(如果使用的是python))。顾名思义,collect将收集分布式数据集的部分或全部行,并在驱动程序过程中实现它们。此时,是的,您将需要考虑数据的内存占用量。

这就是为什么您通常希望尽可能减少collect数据的原因。您可以进行groupByfilter和许多其他转换,以便如果需要在驱动程序中处理数据,则它是最精致的。