Configuration 如何将环境变量传递到spark submit
我正在使用apache spark 1.2.0,希望在使用Configuration 如何将环境变量传递到spark submit,configuration,apache-spark,Configuration,Apache Spark,我正在使用apache spark 1.2.0,希望在使用master=local 在Java land中,这可以使用-D参数传入,但当使用spark submit启动驱动程序时,我无法识别这一点 我已尝试将其添加到conf/spark defaults.conf,但spark在执行Java作业时无法解析环境变量$MY_KEY(我在日志中看到了这一点) 我尝试在调用spark submit时添加相同的参数,但这也不起作用 将其添加到conf/spark env.sh 我实现这一点的唯一方法是直接
master=local
在Java land中,这可以使用-D
参数传入,但当使用spark submit启动驱动程序时,我无法识别这一点
我已尝试将其添加到conf/spark defaults.conf
,但spark在执行Java作业时无法解析环境变量$MY_KEY(我在日志中看到了这一点)
我尝试在调用spark submit时添加相同的参数,但这也不起作用
将其添加到conf/spark env.sh
我实现这一点的唯一方法是直接编辑bin/spark submit
脚本,这违背了从现有环境变量读取脚本的目的,并且在升级spark时会被覆盖
所以在我看来,spark submit忽略了当前用户的环境变量,只允许在它的conf文件中定义有限的变量子集。有人知道我如何解决这个问题吗?希望这有帮助,谢谢你的评论。不幸的是,我正在处理的一个jar文件期望该变量可用于System.getProperty(“keyfile”)
@Brad您找到解决方案了吗?嗨@Eugen,不,我没有。通过在应用程序加载的外部属性文件中定义值,我解决了问题。我无法评论Spark的最新版本是否具有相同的行为。与最新版本相同的行为:/感谢更新。
spark.driver.extraJavaOptions -Dkeyfile="${MY_KEY}"