Spark任务提交jar包依赖解决方案
来源:互联网 发布:阿里云香港b区 编辑:程序博客网 时间:2024/04/26 06:26
通常我们将spark任务编写后打包成jar包,使用spark-submit进行提交,因为spark是分布式任务,如果运行机器上没有对应的依赖jar文件就会报ClassNotFound的错误。
下面有三个解决方法:
方法一:spark-submit –jars
根据spark官网,在提交任务的时候指定–jars,用逗号分开。这样做的缺点是每次都要指定jar包,如果jar包少的话可以这么做,但是如果多的话会很麻烦。
spark-submit --master yarn-client --jars ***.jar,***.jar(你的jar包,用逗号分隔) mysparksubmit.jar
如果你使用了sbt的话,并且在build.sbt中配置好了依赖并下载完成,那么你可以直接去用户home目录下的.ivy/cache/中拷贝你的jar需要的jar包
方法二:extraClassPath
提交时在spark-default中设定参数,将所有需要的jar包考到一个文件里,然后在参数中指定该目录就可以了,较上一个方便很多:
spark.executor.extraClassPath=/home/hadoop/wzq_workspace/lib/*spark.driver.extraClassPath=/home/hadoop/wzq_workspace/lib/*
需要注意的是,你要在所有可能运行spark任务的机器上保证该目录存在,并且将jar包考到所有机器上。这样做的好处是提交代码的时候不用再写一长串jar了,缺点是要把所有的jar包都拷一遍。
方法三:sbt-assembly
如果你还是觉得第二种麻烦,这种方法是将所有依赖的jar包包括你写的代码全部打包在一起(fat-jar)。在项目根目录输入sbt,键入plugins,发现assembly并没有默认安装,因此我们要为sbt安装sbt-assembly插件。
在你的项目目录中project/plugins.sbt中添加
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
然后我们再根目录键入sbt,然后使用plugins查看plugins,如果看到有sbtassembly.AssemblePlugin,说明你的插件就安成功了:
还要设置下冲突解决,然后再在sbt交互命令行下使用assembly就可以了。这种方法打包后会使得jar包很大。
- Spark任务提交jar包依赖解决方案
- Spark任务提交jar包依赖解决方案
- Spark任务提交jar包依赖解决方案
- Spark任务提交jar包依赖解决方案
- Spark任务提交jar包依赖解决方案
- Spark 第三方jar包依赖解决方案
- Spark集群中使用spark-submit提交jar任务包实战经验
- 蜗龙徒行-Spark学习笔记【四】Spark集群中使用spark-submit提交jar任务包实战经验
- spark下使用submit提交任务后报jar包已存在错误
- spark 批量提交依赖包命令
- spark任务运行及jar包
- spark-2.0.0提交jar任务的几种方式
- sbt打包的jar包提交到spark
- spark-submit提交jar包到集群找不到主类
- 提交MapReduce任务时,Ecplise自动生成Jar包
- storm 0.9.6 提交jar任务包的方式
- spark 提交任务到spark
- Spark 提交任务详解
- zzuli OJ 1065: 统计数字字符的个数1
- Logistic Regression and Newton's Method Exercise
- php 桌面应用程序
- Linux命令行svn命令
- android Hierarchy Viewer
- Spark任务提交jar包依赖解决方案
- javascript中的函数Function
- uva 1152 4 Values whose Sum is 0(二分_中途相遇|| hash)
- IE8浏览器无法上传附件的解决方案以及相关兼容问题
- eclipse导入或新建工程出错解决方案
- java封装
- IO中 mark 和reset 的使用
- zzuli OJ 1066: 字符分类统计
- LeetCode-Ugly Number-解题报告