方案一
把依赖的jar包通过--jars的方式进行传递,spark-submit --jars a.jar,b.jar,c.jar
pom.xml
org.apache.maven.plugins
maven-dependency-plugin
copy
package
copy-dependencies
${project.build.directory}/jars
方案二 extraClassPath
spark.executor.extraClassPath=/home/hadoop/wzq_workspace/lib/*
spark.driver.extraClassPath=/home/hadoop/wzq_workspace/lib/*
需要注意的是,你要在所有可能运行spark任务的机器上保证该目录存在,并且将jar包考到所有机器上。这样做的好处是提交代码的时候不用再写一长串jar了,缺点是要把所有的jar包都拷一遍
方案三 把所有文件打成一个包 进行上传
pom.xml
org.apache.maven.plugins
maven-assembly-plugin
2.2-beta-5
jar-with-dependencies
package
single