【问题标题】:How to pass external configuration file to pyspark(Spark 2.x) program?如何将外部配置文件传递给 pyspark(Spark 2.x) 程序?
【发布时间】:2020-05-30 07:11:29
【问题描述】:

当我运行 pyspark 程序交互式 shell 时,能够在 pyspark 脚本中获取配置文件(config.ini), 但是当我尝试使用带有主纱线的 Spark 提交命令运行相同的脚本并且集群部署模式是集群时,它给我错误,因为配置文件不存在,我检查了纱线日志并且能够看到相同的,下面是运行 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 --deploy-mode cluster --properties-file $CONF_FILE pyspark_script.py

标签: pyspark


【解决方案1】:

使用 spark2-sumbmit 命令有参数提供的属性文件,您可以使用它在 spark-submit 命令中获取此属性文件。

例如spark2-submit --master yarn --deploy-mode cluster --properties-file $CONF_FILE_NAME pyspark_script.py

【讨论】:

    【解决方案2】:

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

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

    在 pyspark 中读取:

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

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2019-09-25
      • 2020-03-14
      • 1970-01-01
      • 2014-05-07
      • 2021-11-17
      • 2020-06-23
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      相关资源
      最近更新 更多