sparkshelljarlib_spark-submit 应用程序第三方jar文件
第一种方式:打包到jar应用程序
操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中
应用场景:第三方jar文件比较小,应用的地方比较少
第二种方式:spark-submit 参数 --jars
操作:使用spark-submit提交命令的参数: --jars
要求:
1、使用spark-submit命令的机器上存在对应的jar文件
2、至于集群中其他机器上的服务需要该jar文件的时候,通过driver提供的一个http接口来获取该jar文件的(例如:http://192.168.187.146:50206/jars/mysql-connector-java-5.1.27-bin.jar Added By User)
## 配置参数:--jars JARS
如下示例:
$ bin/spark-shell --jars /opt/cdh-5.3.6/hive/lib/mysql-connector-java-5.1.27-bin.jar
应用场景:要求本地必须要有对应的jar文件
第三种方式:spark-submit 参数 --packages
操作:使用spark-submit提交命令的参数: --packages
## 配置参数:--packages jar包的maven地址
如下示例:
$ bin/spark-shell --packages mysql:mysql-connector-java:5.1.27 --repositories http://maven.aliyun.com/nexus/content/groups/public/
##--repositories 为mysql-connector-java包的maven地址,若不给定,则会使用该机器安装的maven默认源中下载
## 若依赖多个包,则重复上述jar包写法,中间以逗号分隔
## 默认下载的包位于当前用户根目录下的.ivy/jars文件夹中
应用场景:本地可以没有,集群中服务需要该包的的时候,都是从给定的maven地址,直接下载
第四种方式:添加到spark的环境变量
操作:更改Spark的配置信息:SPARK_CLASSPATH, 将第三方的jar文件添加到SPARK_CLASSPATH环境变量中
注意事项:要求Spark应用运行的所有机器上必须存在被添加的第三方jar文件
A.创建一个保存第三方jar文件的文件夹:
命令:$ mkdir external_jars
B.修改Spark配置信息
命令:$ vim conf/spark-env.sh
修改内容:SPARK_CLASSPATH=$SPARK_CLASSPATH:/opt/cdh-5.3.6/spark/external_jars/*C.将依赖的jar文件copy到新建的文件夹中
命令:$ cp /opt/cdh-5.3.6/hive/lib/mysql-connector-java-5.1.27-bin.jar ./external_jars/
应用场景:依赖的jar包特别多,写命令方式比较繁琐,被依赖包应用的场景也多的情况下
备注:(只针对spark on yarn(cluster)模式)
spark on yarn(cluster),如果应用依赖第三方jar文件
最终解决方案:将第三方的jar文件copy到${HADOOP_HOME}/share/hadoop/common/lib文件夹中(Hadoop集群中所有机器均要求copy)
sparkshelljarlib_spark-submit 应用程序第三方jar文件相关推荐
- Spark应用程序第三方jar文件依赖解决方案
Spark应用程序第三方jar文件依赖解决方案 参考文章: (1)Spark应用程序第三方jar文件依赖解决方案 (2)https://www.cnblogs.com/dinghong-jo/p/78 ...
- sparkshelljarlib_Spark应用程序第三方jar文件依赖解决方案
第一种方式 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式 操作:使用spark-submit提交命令的参数: ...
- java打包后的图片文件在哪,java程序打包jar文件自带图片
今天打包jar的文件的时候发觉图片无法定位导致图片加载失败.然后把图片放在jar文件路径下,图片就可以加载了.然后尝试写一段能够使jar文件定位图片位置的方法,成功了.但是会发觉,后者比前者在载入的时 ...
- hadoop 依赖式job_Hadoop Job使用第三方依赖jar文件
当我们实现了一个Hadoop MapReduce Job以后,而这个Job可能又依赖很多外部的jar文件,在Hadoop集群上运行时,有时会出现找不到具体Class的异常.出现这种问题,基本上就是在H ...
- MyEclipse将Java项目打包成jar文件的三种方法
2019独角兽企业重金招聘Python工程师标准>>> 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 "MANIFEST.MF", 由于 ...
- Hadoop中通过ToolRunner和Configured实现直接读取命令行动态出入reduce task数量,jar文件等...
一个典型的实现Tool的程序: /** MyApp 需要从命令行读取参数,用户输入命令如, $bin/hadoop jar MyApp.jar -archives test.tgz arg1 arg ...
- Hadoop中通过ToolRunner和Configured实现直接读取命令行动态出入reduce task数量,jar文件等
一个典型的实现Tool的程序: /** MyApp 需要从命令行读取参数,用户输入命令如, $bin/hadoop jar MyApp.jar -archives test.tgz arg1 arg ...
- myeclipse打包java文件_MyEclipse将Java项目打包成jar文件的三种方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 "MANIFEST.MF", 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFE ...
- maven 打包指定依赖包_Maven打包成Jar文件时依赖包的问题
我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用.我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入 ...
最新文章
- php报错Permission denied
- JZOJ 5640. 【NOI2018模拟4.9】劈配
- pcb地线应该不应该做成环路_干货|图文详解EMC的PCB设计技术
- Linux进程编程(PS: exec族函数、system、popen函数)
- php中一级标题和二级标题,什么是一级标题,一二三标题格式举例
- Redis的超时命令和垃圾回收策略
- 2020没赚到,你真的该好好想想了
- Bailian2966 时区转换【时区计算】
- 如何使用phpMQTT连接阿里云微服务消息队列for IoT
- java IO流、集合类部分小知识点总结
- 内推 | 高级数据分析师(base:杭州)
- winrar 注册码
- Redis Lua脚本好处、Redis执行Lua的两种方式、Redis缓存Lua脚本、Redis Lua原子性验证、Lua脚本IP限流、Lua脚本自乘
- Ajax怎么解决乱码PHP,php Ajax乱码
- 谷歌邮箱lmap服务器填什么_GMAIL邮箱IMAP设置
- 记服务器遭遇ssh攻击及应对过程
- IAR使用方法建立工程文件超详细操作步骤
- 苹果显示未找到服务器,苹果浏览器找不到服务器是怎么回事
- 如果一只股票退市,那么里面所持有这只股票人的钱该怎么办?
- 探索二进制世界----1
热门文章
- Linux内核文档翻译
- 贪心算法———房间搬桌子
- 错误 Failed to load module “canberra-gtk-module“ 解决方案
- 【Node】常用基础 API 整理
- JENKINS系统的安装部署
- java线程(2)--同步和锁
- 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况...
- Spring EL方法调用实例
- 专门用于微信公众平台的Javascript API
- Web消息主体风格(Message Body Style)