【发布时间】:2017-09-22 04:29:49
【问题描述】:
在“Spark:权威指南”一书中(目前为早期版本,文本可能会更改),作者建议不要将 Pyspark 用于 Spark 中的用户定义函数:
“启动这个 Python 进程很昂贵,但真正的成本是将数据序列化到 Python 中。这有两个原因,这是一个昂贵的计算,而且一旦数据进入 Python,Spark 无法管理worker。这意味着如果一个 worker 资源受限,你可能会导致它失败(因为 JVM 和 python 都在同一台机器上竞争内存)。"
我了解 Python 和 JVM 之间对工作节点资源的竞争可能是一个严重的问题。但这不也适用于司机吗?在这种情况下,根本就反对使用 Pyspark。谁能解释一下是什么让司机的情况有所不同?
【问题讨论】:
标签: python scala apache-spark pyspark user-defined-functions