测试下spark.yarn.archive 和 spark.yarn.jars 参数的作用,官网对这俩参数的描述如下:
(1)spark-defaults.conf配置下面两个参数
spark.yarn.archive hdfs://hd1:9000/archive/spark-libs.jar
spark.yarn.jars hdfs://hd1:9000/spark_jars/*
查看web ui
(2)只配置spark.yarn.jars hdfs://hd1:9000/spark_jars/*
查看web ui(显示的参数值是空),但是通过上面的日志可知,确实没有上传,.staging下只有一个conf的zip包
(3)只配置spark.yarn.archive hdfs://hd1:9000/archive/spark-libs.jar
查看web ui
(4)俩参数都不设置,会zip压缩上报jars和conf
总结:
- spark.yarn.archive参数和spark.yarn.jars参数同时配置,只有spark.yarn.archive会生效
- 配置spark.yarn.archive参数或者spark.yarn.jars参数, 都不会上传spark目录下的jars到application临时目录
- 如果只配置spark.yarn.jars,web页面上显示的spark.yarn.jars值是空(暂不确定是不是bug)
- 不配置spark.yarn.archive参数或者spark.yarn.jars参数, 会同时传conf和jars到application临时目录,spark2.x 是以zip压缩包的形式上传的
- spark2.x默认情况下,启动spark-sql -master yarn,不配置spark.yarn.archive参数或spark.yarn.jars参数会比配置其中一个参数的情况慢1~2s左右启动时间