提交包含多个python文件和一个配置文件的pyspark作业

tez616oj  于 2021-05-26  发布在  Spark
关注(0)|答案(1)|浏览(738)

我有4个python脚本和一个.txt配置文件。在4个python文件中,有一个文件具有spark应用程序的入口点,还可以从其他python文件导入函数。但配置文件是在其他一些python文件中导入的,这些文件不是spark应用程序的入口点。我想在pyspark中编写spark submit命令,但是当配置文件不是python文件而是文本文件或ini文件时,我不知道如何使用spark submit命令提供多个配置文件。
演示:4个python文件:file1.py、file2.py、file3.py。文件4.py
1配置文件:conf.txt
py:这个文件有spark会话和对所有其他python文件的调用。file3.py:这个python文件正在读取conf.txt。
我想提供所有这些文件与Spark提交,但不确定有关命令。我确定的一个解决方案是:

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

但是使用上面的spark提交,我不知道如何传递conf.txt。

zvms9eto

zvms9eto1#

你可以用 --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

相关问题