什么是 spark.python.worker.memory?

What is spark.python.worker.memory?

谁能更准确地描述这个 Spark 参数以及它如何影响程序执行?我无法从文档中确切地说出此参数的作用 "under the hood"。

该参数影响 Python worker 的内存限制。如果Python工作进程的RSS大于内存限制,那么它会将数据从内存溢出到磁盘,这会降低内存利用率,但通常是一个昂贵的操作。

请注意,此值适用于每个 Python 个工作人员,并且每个执行者将有多个工作人员。

如果您想深入了解,请查看 Spark 源代码树中的 python/pyspark 目录,例如ExternalMerger 实施:https://github.com/apache/spark/blob/41afa16500e682475eaa80e31c0434b7ab66abcb/python/pyspark/shuffle.py#L280