[英]how to submit pyspark job with multiple python files?
I am figuring out how to submit pyspark job developed using pycharm ide. there are 4 python files and 1 python file is main python file which is submitted with pyspark job but rest other 3 files are imported in main python file, but I am not able要了解我的 python 文件是否都在 s3 bukcet 中可用,spark 作业如何能够引用那些未使用 pyspark 提交命令提交的文件。 例如:文件 1、文件 2、文件 3、文件 4
spark-submit --master local --driver-memory 2g --executor-memory 2g s3_path\file1.py
file2、file3、file4 在 file1 中导入,但我想知道 spark 如何引用其他 python 文件。
egg
文件) 使用setuptools将您的文件夹创建到可导入的 package 中。假设您在文件夹mypackage
下有多个文件,如下所示:
mypackage
|-- file1.py
|-- file2.py
|-- ...
`-- __init__.py
使用setuptools
你可以创建一个 egg 文件(这是一个压缩版本的包)
egg
文件传递给spark-submit
spark-submit --pyfiles mypackage.egg <rest of the args>
from mypackage.file1 import somefunction
somefunction()
这里还有一件更重要的事情,如果你有访问/能力 pip 安装东西然后而不是使用egg
创建一个wheel
文件并运行pip install s3_path/<wheel-file>
,它将安装 package 并将你的可运行脚本复制到/usr/local/bin/
或等效路径立即让您的生活更轻松。
请使用以下配置
--py-files PY_FILES Comma-separated list of .zip, .egg, or .py files to place
on the PYTHONPATH for Python apps.
所以你的命令将如下所示
spark-submit --master local --driver-memory 2g --executor-memory 2g --py-files s3_path\file2.py,s3_path\file3.py,s3_path\file4.py s3_path\file1.py
一个重要的注意事项是文件路径之间不要有空格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.