【发布时间】:2019-03-16 01:11:06
【问题描述】:
Spark master 内存需求是否与处理数据的大小有关?
Spark 驱动程序和 Spark 工作程序/执行程序直接处理已处理的数据(并执行应用程序代码),因此它们的内存需求可以与已处理数据的大小相关联。但是 Spark master 是否会受到数据大小的影响?在我看来不是,因为它只是管理 Spark 工作人员,并不直接处理数据本身。
【问题讨论】:
标签: apache-spark
Spark master 内存需求是否与处理数据的大小有关?
Spark 驱动程序和 Spark 工作程序/执行程序直接处理已处理的数据(并执行应用程序代码),因此它们的内存需求可以与已处理数据的大小相关联。但是 Spark master 是否会受到数据大小的影响?在我看来不是,因为它只是管理 Spark 工作人员,并不直接处理数据本身。
【问题讨论】:
标签: apache-spark
Spark 主要数据实体(如 DataFrames 或 DataSets)基于 RDD 或弹性分布式数据集。它们是分布式的,这意味着处理通常发生在执行程序中。
不过,一些RDD 操作将以驱动程序进程的数据结束。最值得注意的是collect 和其他使用它的操作(如show、take 或toPandas,如果您使用的是python)。 collect,顾名思义,会收集分布式数据集的部分或全部行,并在驱动进程中具体化。此时,是的,您需要考虑数据的内存占用。
这就是为什么您通常希望尽可能减少collect 的数据。您可以groupBy、filter 和许多其他转换,以便如果您需要处理驱动程序中的数据,它是最精细的。
【讨论】: