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

Mar*_*ann 6 apache-spark

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

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

Man*_*dés 1

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

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

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