gpt4 book ai didi

python - Spark : Dangers of using Python

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:36 26 4
gpt4 key购买 nike

在“Spark:权威指南”一书中(目前处于早期版本,文本可能会更改),作者建议不要将 Pyspark 用于 Spark 中的用户定义函数:

“启动这个 Python 进程是昂贵的,但真正的成本是将数据序列化到 Python。这有两个原因,这是一个昂贵的计算,而且一旦数据进入 Python,Spark 就无法管理worker。这意味着如果 worker 变得资源受限(因为 JVM 和 python 都在同一台机器上竞争内存),您可能会导致 worker 失败。”

我知道 Python 和 JVM 之间对工作节点资源的竞争可能是一个严重的问题。但这不也适用于司机吗?在这种情况下,这完全是反对使用 Pyspark 的理由。谁能解释一下司机的情况有何不同?

最佳答案

如果有的话,这更像是反对使用 Python UDF 而不是一般的 PySpark,并且在较小程度上,可以提出类似的反对 native (在 JVM 上实现)UDF 的论点。

您还应该注意 vectorized UDFs在 Spark 路线图上,所以:

the real cost is in serializing the data to Python

将来可能不再受关注。

But doesn't that also apply to the driver?

没那么多。虽然共享单个节点的资源始终是一个问题(考虑附加服务的协同定位),但 UDF 的问题非常具体——相同的数据必须同时存储在两个不同的上下文中。

例如,如果您选择使用 RDD API,则 JVM 主要服务于通信层,开销会小得多。因此,它是 native Python 计算的更自然的选择,尽管您可能会在那里找到一些更适合的 native Python 工具。

关于python - Spark : Dangers of using Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46356893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com