kop*_*zko 75 scala apache-spark
我想在dev/prod环境中更改Spark作业的Typesafe配置.在我看来,实现这一目标的最简单方法是转到-Dconfig.resource=ENVNAME工作岗位.然后Typesafe配置库将为我完成工作.
有没有办法直接将该选项传递给作业?或者也许有更好的方法在运行时更改作业配置?
编辑:
--conf "spark.executor.extraJavaOptions=-Dconfig.resource=dev"向spark-submit命令添加选项时没有任何反应.Error: Unrecognized option '-Dconfig.resource=dev'.当我传递-Dconfig.resource=dev给spark-submit命令时,我得到了.kop*_*zko 50
更改spark-submit命令行添加三个选项:
--files <location_to_your_app.conf>--conf 'spark.executor.extraJavaOptions=-Dconfig.resource=app'--conf 'spark.driver.extraJavaOptions=-Dconfig.resource=app'gia*_*dau 19
这是我的附加java选项运行的spark程序
/home/spark/spark-1.6.1-bin-hadoop2.6/bin/spark-submit \
--files /home/spark/jobs/fact_stats_ad.conf \
--conf spark.executor.extraJavaOptions=-Dconfig.fuction.conf \
--conf 'spark.driver.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH -Dalluxio.user.file.write.location.policy.class=alluxio.client.file.policy.MostAvailableFirstPolicy -Dconfig.file=/home/spark/jobs/fact_stats_ad.conf' \
--class jobs.DiskDailyJob \
--packages com.databricks:spark-csv_2.10:1.4.0 \
--jars /home/spark/jobs/alluxio-core-client-1.2.0-RC2-jar-with-dependencies.jar \
--driver-memory 2g \
/home/spark/jobs/convert_to_parquet.jar \
AD_COOKIE_REPORT FACT_AD_STATS_DAILY | tee /data/fact_ad_stats_daily.log
Run Code Online (Sandbox Code Playgroud)
正如您可以看到自定义配置文件
--files /home/spark/jobs/fact_stats_ad.conf
执行者java选项
--conf spark.executor.extraJavaOptions=-Dconfig.fuction.conf
驱动程序java选项.
--conf 'spark.driver.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH -Dalluxio.user.file.write.location.policy.class=alluxio.client.file.policy.MostAvailableFirstPolicy -Dconfig.file=/home/spark/jobs/fact_stats_ad.conf'
希望它可以帮助.
我将-D参数传递给spark执行器和驱动程序时遇到了很多问题,我在博客文章中添加了一条关于它的引用:"传递参数的正确方法是通过属性:" spark.driver.extraJavaOptions"和" spark.executor.extraJavaOptions":我已经通过了log4J配置属性和配置所需的参数.(对于我只能传递log4j配置的驱动程序).例如(写在spark-submit传递的属性文件中,带有" - properties-file"):"
spark.driver.extraJavaOptions –Dlog4j.configuration=file:///spark/conf/log4j.properties -
spark.executor.extraJavaOptions –Dlog4j.configuration=file:///spark/conf/log4j.properties -Dapplication.properties.file=hdfs:///some/path/on/hdfs/app.properties
spark.application.properties.file hdfs:///some/path/on/hdfs/app.properties
Run Code Online (Sandbox Code Playgroud)
"
你可以阅读我关于spark整体配置的博文.我也在跑Yarn.
--files <location_to_your_app.conf>
--conf 'spark.executor.extraJavaOptions=-Dconfig.resource=app'
--conf 'spark.driver.extraJavaOptions=-Dconfig.resource=app'
如果以这种方式编写,后者--conf将覆盖前一个,您可以通过在tab下启动作业后查看sparkUI来验证这一点Environment.
所以正确的方法是将选项放在同一行下:
--conf 'spark.executor.extraJavaOptions=-Da=b -Dc=d'
如果你这样做,你会发现你的所有设置都将显示在sparkUI下.
| 归档时间: |
|
| 查看次数: |
65676 次 |
| 最近记录: |