HIVE以及OOZIE添加第三方JAR包的方法
来源:互联网 发布:简单的单片机设计作品 编辑:程序博客网 时间:2024/05/19 21:41
本文原文出处: http://blog.csdn.net/bluishglc/article/details/46005269 严禁任何形式的转载,否则将委托CSDN官方维护权益!
很多时候,我们需要在Hive中引入第三方jar包或者是自己编写的“UDF”jar包。在hive中,涉及指定外部jar包的配置有两个地方:
- hive-site.xml中的配置项“hive.aux.jars.path”
- 环境变量:HIVE_AUX_JARS_PATH
从目前的实验可以确定的有两点:
- hive.aux.jars.path配置项对于hive server有效,但是是不会作用到hive shell.也就是说即使你在hive节点上配置了这一项,但是对于hive shell来说是无效的。
这里给一个配置hive.aux.jars.path的例子,注意两点:一,目前只支持file://也就是本地文件,暂不支持HDFS。二,多个文件使用逗号分隔。
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 环境变量HIVE_AUX_JARS_PATH对hive shell有效。
hive-site.xml配置项:hive.aux.jars.path
对于hive.aux.jars.path的配置,建议制定一个HDFS路径,jar包上传到HDFS上,这样比较方便。如果指定是本地路径,则需要确保每个节点上的对应位置上都放置了需要的jar包,这样操作起来比较麻烦。
环境变量HIVE_AUX_JARS_PATH
对于环境变量HIVE_AUX_JARS_PATH,要特别说明一下,通常我们说设置一下这个变量就可以引入相应的jar,但是在当前版本的hive下,这个变量的设值有些问题,让我们来看一下启动hive的shell脚本hive-env.sh,它里面有这样一段:
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
这是段脚本比较糟糕,因为一旦我们给HIVE_AUX_JARS_PATH设值,则/usr/hdp/current/hive-webhcat/share/hcatalog就会被忽略掉。这显然看起来很怪异,实际上hive只能读取一个HIVE_AUX_JARS_PATH,也就是上面这段怪异代码的主要原因。所以,一个比较好的做法是,我们可以在一个地方集中放置我们的共享jar包,然后在/usr/hdp/current/hive-webhcat/share/hcatalog下面建立一相应的软连接就可以,比如,我们把jar统一放在/usr/lib/share-lib下,然后这样建立软连接:
- 1
- 1
OOZIE中如何指定第三方JAR包
如果你的依赖到第三方JAR的HIVE脚本本身又是一个OOZIE工作流中的一环,那么我们的工作还没有完,如果你在OOZIE配置并引入第三方JAR,那么你的工作流还是会失败。对于OOZIE,引入第三方JAR的方法是oozie-site.xml中的oozie.service.WorkflowAppService.system.libpath, 我们需要配置这个选项,并把相应的JAR包上传到这个目录下。注意,这也是一个HDFS的路径!
- HIVE以及OOZIE添加第三方JAR包的方法
- HIVE以及OOZIE添加第三方JAR包的方法
- Hive如何添加第三方JAR
- Hive如何添加第三方JAR
- Android Studio 怎么添加使用第三方jar包及无法编译的问题解决方法
- Android Studio 怎么添加使用第三方jar包及无法编译的问题解决方法
- maven 手动添加第三方的jar包
- maven 手动添加第三方的jar包
- maven 手动添加第三方的jar包
- maven 手动添加第三方的jar包
- maven 手动添加第三方的jar包
- 添加第三方jar包,class not found的解决
- maven 手动添加第三方的jar包
- Maven优雅的添加第三方Jar包
- Maven优雅的添加第三方Jar包
- Java ME添加第三方jar包
- maven2添加第三方jar包
- Android.mk添加第三方jar包
- 404. Sum of Left Leaves
- 二分匹配的匈牙利算法 51NOD2006(文末)
- cocos2d-x 3.x之动作
- UE4-Android-APK大小
- java内存区域
- HIVE以及OOZIE添加第三方JAR包的方法
- Linux Man命令
- 表格nth-child设置行列样式
- 大话AOP与Android的爱恨情仇
- 微信随机红包数详解和算法代码
- GCD 使用总结(一)
- iOS-present控制器提示警告解决办法
- pandas.DataFrame.to_excel
- Android判断App前台运行还是后台运行(运行状态)