我使用configparser读取python编写的程序中的配置。我现在正在从s3读取文件,但我的要求是在程序本身中定义配置,而不是从任何其他外部源。编写的代码如下:
config = configparser.ConfigParser()
config.readfp(open(s3:path\config))
配置文件格式:config.ini
[section1]
var1=Y
var2=Y
var3=['col1','col2']
我正在读上面的文件,它位于s3中,但我不想从s3中读取,而是想从程序本身读取。为了实现这一目标,需要做些什么?
上面的代码是用pyspark程序编写的,我用spark submit命令传递配置文件,但要读取配置文件,我需要提供路径,这是不可取的。在aws emr中提交:
'Args': ['spark-submit','--deploy-mode', 'cluster','--master', 'yarn','--executor-memory', conf['emr_step_executor_memory'],'--executor-cores', conf['emr_step_executor_cores'],'--conf','spark.yarn.submit.waitAppCompletion=true','--conf','spark.rpc.message.maxSize=1024',f'{s3_path}/file1.py', '--py-files',f'{s3_path}/file2.py',f'{s3_path}/file3.py',f'{s3_path}/file4.py','--files', f'{s3_path}/config ]
由于config.readfp(open(s3:path\config))行的原因,我需要提供s3路径,这是不可取的选项,可以从spark submit传递配置文件,并使其他所有正在读取配置的python文件都可用,也可以在程序本身内部读取配置。
1条答案
按热度按时间nwlqm0z11#
你可以这样做:
检查此详细信息以及其他一些替代方法来实现这一点。
样本检索