为什么--conf参数不能在yarn-cluster模式下工作(但在yarn-client和local中工作)?

时间:2015-03-23 12:43:04

标签: apache-spark yarn

根据Spark Documentation

--conf: Arbitrary Spark configuration property in key=value format. For values that contain spaces wrap “key=value” in quotes (as shown).

事实上,当我使用该参数时,在我的Spark程序中,我可以使用以下命令检索密钥的值:

System.getProperty("key");

当我在本地测试我的程序时,以及在纱线客户端模式下,这是有效的。我可以记录,看它是否与我在命令行中写的匹配,但是当我提交时,它会返回 null yarn-cluster 模式中的相同程序。

为什么我在 yarn-cluster 模式下提交Spark应用程序时,无法检索以--conf "key=value"给出的密钥值?

任何想法和/或解决方法?

1 个答案:

答案 0 :(得分:0)

显然,通过--conf,您应该只传递特定于Spark的属性。如果你想传递任意键,值对,那么你应该传递它们:

--driver-java-options "-Dkey=someValue"

然后您可以通过以下方式检索密钥的值:

System.getProperty("key");