我正在尝试将日志路径传递给spark-submit
,如下所示:
spark-submit \
--master local[*] \
--conf -Dlogback.configurationFile=C:\Users\A661758\Desktop\logback.xml \
target\scala-2.11\dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jar \
C:\Users\A661758\Desktop\Atos_Integration_Donnees_V0.1_2017\AC_LIMOGES_JSON SourceAcLimoges 20170526 L AC-LIMOGES
输出:
警告:忽略非spark配置属性: -Dlogback.configurationFile = C:\用户 小号\ A661758 \桌面\ logback.xml log4j:WARN没有为logger找到appender(dataIntegrationENTLea.Main $)。
答案 0 :(得分:2)
它不会为local[*]
工作,因为为驱动程序和单个执行程序(又是驱动程序)设置单个JVM为时已晚。
--master local[*] --conf -Dlogback.configurationFile=C:\Users\A661758\Desktop\logback.xml
更不用说设置此类参数的方法是spark.driver.extraJavaOptions
或spark.executor.extraJavaOptions
,如Runtime Environment中所述:
spark.driver.extraJavaOptions 要传递给驱动程序的一串额外JVM选项。例如,GC设置或其他日志记录。
spark.executor.extraJavaOptions 要传递给执行程序的一串额外JVM选项。例如,GC设置或其他日志记录。
当您阅读文档时,您应该找到以下内容(突出显示我的文档):
注意:在客户端模式下,不能直接在应用程序中通过
SparkConf
设置此配置,因为驱动程序JVM已在此时启动。 相反,请通过--driver-java-options
命令行选项或默认属性文件进行设置。
执行spark-submit --help
时,您会看到以下内容:
- driver-java-options 要传递给驱动程序的额外Java选项。
使用--driver-java-options
,如下所示:
./bin/spark-shell --driver-java-options -Daaa=bbb
如果设置了该选项,请查看网络用户界面的环境标签。
答案 1 :(得分:1)
Spark正确地告诉你,传递给--conf
的任何参数都需要是一个spark配置键。您正在寻找的是spark.driver.extraJavaOptions
和spark.executor.extraJavaOptions
:
spark-submit \
--master local[*] \
--conf "spark.driver.extraJavaOptions=-Dlogback.configurationFile=C:\Users\A661758\Desktop\logback.xml" \
C:\Users\A661758\dataIntegrationLea\target\scala-2.11\dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jarC:\Users\A661758\Desktop\Atos_Integration_Donnees_V0.1_2017\AC_LIMOGES_JSON SourceAcLimoges 20170526 L AC-LIMOGES
请注意,您需要相应地设置驱动程序和执行程序位置,因为每台计算机上的位置可能不同。
有关火花配置值的更多信息,请参阅Add jars to a Spark Job - spark-submit