首页 > 解决方案 > 我是否可以加快在 pyspark 上运行 python 库的速度

问题描述

当我运行诸如 pandas 或 scikit learn 之类的 python 库时,我试图通读并准确了解 Spark 中的加速来自何处,但我没有看到任何特别有用的信息。如果我可以在不使用 pyspark 数据帧的情况下获得相同的加速,我可以只使用 pandas 部署代码并且它的性能大致相同吗?

我想我的问题是:

如果我有工作的 pandas 代码,是否应该将其转换为 PySpark 以提高效率?

标签: apache-sparkdataframepyspark

解决方案


如果您询问是否通过在驱动程序节点上启动任意 Python 代码来获得任何加速,答案是否定的。Driver 是一个普通的 Python 解释器,它不会以“神奇”的方式影响你的代码。

如果我有工作的 pandas 代码,是否应该将其转换为 PySpark 以提高效率?

如果你想获得分布式计算的好处,那么你必须使用分布式原语重写你的代码。然而,这不是免费的午餐:

换句话说 - 如果您的代码在 Pandas 或 Scikit Learn 上运行良好,那么您几乎不可能通过将其重写为 Spark 获得任何东西。


推荐阅读