提交带有多个python文件和一个配置文件的pyspark作业



我有4个python脚本和一个.txt的配置文件。在4个python文件中,有一个文件有spark应用程序的入口点,还从其他python文件导入函数。但配置文件是在其他一些python文件中导入的,该文件不是spark应用程序的入口点。我想在pyspark中编写spark-submit命令,但当配置文件不是python文件而是文本文件或ini文件时,我不知道如何使用spark-subject命令在配置文件中提供多个文件。

用于演示:4个python文件:file1.py、file2.py、file3.py.file4.py

1个配置文件:conf.txt

file1.py:该文件具有spark会话并调用所有其他python文件。file3.py:这个python文件正在读取conf.txt。

我想提供所有这些文件与火花提交,但不确定的命令。我确定的一个解决方案是:

spark-submit --master local  --driver-memory 2g --executor-memory  2g --py-files s3_pathfile2.py,s3_pathfile3.py,s3_pathfile4.py  s3_pathfile1.py

但是有了上面的火花提交,我不确定如何通过conf.txt。

您可以使用--files来提供要随应用程序一起上传的文件列表。


例如,

spark-submit file1.py 
--master local 
--driver-memory 2g 
--executor-memory 2g 
--py-files file2.py,file3.py,file4.py 
--files conf.txt

如果您的文件位于S3实例中,您可以尝试以下操作:

spark-submit s3://path/to/file1.py 
--master local 
--driver-memory 2g 
--executor-memory 2g 
--py-files s3://path/to/file2.py,s3://path/to/file3.py,s3://path/to/file4.py 
--files s3://path/to/conf.txt

相关内容

最新更新