在yarn模式下,会上传jar包到yarn来执行spark程序,如果每次都上传,很耗时间,而且如果是阿里云的机器,上传很慢,180m的jar要上传十几分钟,所以要提前上传到hdfs中去。
spark支持如下几个参数
spark.yarn.jars:只能指定具体jar包,在spark1.6.2(包括)以前,从官网上可以下载一个大的jar包,写上这个jar包即可,但是在2.0过后,就成为了一大堆小包
spark.yarn.archive:这个支持文件夹,但是有一点要注意,
.set(“spark.yarn.archive”,”hdfs://node2:8020/user/xiaokan/assembly/target/scala-2.11/jars”)
.set(“spark.yarn.archive”,”hdfs://node2:8020/user/xiaokan/assembly/target/scala-2.11/jars/”)
只有第一种写法正确,第二种错误,第二种写法不会读取任何jar包。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/192296.html