如何将外部配置文件传递给pyspark(Spark2.x)程序



当我运行pyspark程序交互式shell时,能够获取pyspark脚本中的配置文件(config.ini(,但当我试图使用Spark submit命令和master yarn运行相同的脚本时,集群部署模式是集群,由于配置文件不存在,它给了我错误,我检查了yarn日志,可以看到相同的内容,下面是运行pyspark作业的命令。

spark2-submit --master yarn --deploy-mode cluster test.py /home/sys_user/ask/conf/config.ini

使用spark2-sumbmit命令有一个参数提供的属性文件,您可以使用该文件在spark-submit命令中获得该属性文件。

例如spark2 submit--master yarn--部署模式集群--属性文件$CONF_file_NAMEpyspark_script.py

在spark.files参数中传递ini文件

.config('spark.files', 'config/local/config.ini') 

读入pyspark:

with open(SparkFiles.get('config.ini')) as config_file:
print(config_file.read())

它对我有用。

最新更新