我有一个旧版本的 Spark 设置和 YARN,我不想删除它,但仍然想使用较新的版本。我找到了一个couple https://community.cloudera.com/t5/Advanced-Analytics-Apache-Spark/Multiple-Spark-version-on-the-same-cluster/td-p/39880帖子提到如何使用胖罐来实现这一点。
Many https://stackoverflow.com/questions/16222748/building-a-fat-jar-using-maven SO posts https://stackoverflow.com/questions/30414782/proper-way-to-make-a-spark-fat-jar-using-sbt指向maven(官方支持)或sbt来构建一个fat jar,因为它不能直接用于download https://spark.apache.org/downloads.html。
似乎有多个插件可以使用 maven 来完成此操作:maven-assemble-plugin、maven-shade-plugin、onejar-maven-plugin 等。
但是,我不知道我是否真的需要一个插件,如果需要,需要哪个插件以及具体如何使用它。我尝试使用“build/mvn”和“build/sbt”直接编译github源代码,但“spark- assembly_2.11-2.0.2.jar”文件只有283字节。
我的目标是以与上述类似的方式使用新版本的 fat jar 运行 pyspark shellhere https://stackoverflow.com/a/30233841.
从spark版本2.0.0开始,不再支持创建far jar,您可以在以下位置找到更多信息Spark 2.0.0 中我们还需要制作一个 fat jar 来提交作业吗? https://stackoverflow.com/questions/38868699/do-we-still-have-to-make-a-fat-jar-for-submitting-jobs-in-spark-2-0-0
在您的情况下(在 YARN 上运行)推荐的方法是在 HDFS 上创建包含 Spark 内容的目录jars/
目录并将该路径添加到spark-defaults.conf
:
spark.yarn.jars hdfs:///path/too/jars/directory/on/hdfs/*.jar
然后,如果您运行 pyspark shell,它将使用以前上传的库,因此它的行为与 Spark 1.X 中的 fat jar 完全相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)