如何使用 .whl 文件调用 pyspark 代码?

Sac*_*rka 7 python apache-spark python-wheel pyspark python-packaging

我用诗歌创建了一个轮文件。我正在运行 Spark-submit 命令,但它不起作用。我想我错过了一些东西

spark-submit --py-files /path/to/wheel
Run Code Online (Sandbox Code Playgroud)

请注意,我也参考了下面的内容,但由于我是 Python 新手,因此没有获得太多详细信息。 如何将 python 包传递给 Spark 作业并使用参数从包中调用主文件

Sac*_*rka 4

Wheel 文件可以作为以下 Spark-submit 命令的一部分执行

Spark-submit --deploy-mode cluster --py-files /path/to/wheel main_file.py

  • 没关系,我看到它是一个单独的文件。我认为 @CesareIurlaro 在技术上是正确的 - whl 文件与 zipimport 兼容,但使用 `--py-files` 将不会安装轮子。如果您的wheel 只是一个不需要安装的zip 存档,那么它将可以工作,但是如果您的wheel 需要/期望安装,那么它就不会工作,例如,如果wheel 中有c/c++ 依赖项。请参阅https://databricks.com/blog/2020/12/22/how-to-manage-python-dependency-in-pyspark.html (4认同)
  • 我认为这是不正确的。来自关于 `spark.submit.pyFiles` 的文档 (https://spark.apache.org/docs/latest/configuration.htm):`要放置的 .zip、.egg 或 .py 文件的逗号分隔列表Python 应用程序的 PYTHONPATH。因为基本上它们的作用是相同的,所以我不希望它处理轮文件。 (2认同)
  • 轮锉工作正常。我已经尝试过并测试过,它工作得很好。 (2认同)
  • 那么他们真的应该更新文档:) (2认同)