Hive怎样加入第三方JAR
以增加elsaticsearch-hadoop-2.1.2.jar为例,讲述在Hive中增加第三方jar的几种方式。
1,在hive shell中增加
[hadoop@hadoopcluster78 bin]$ ./hive Logging initialized using configuration in file:/home/hadoop/apache/hive-0.13.1/conf/hive-log4j.properties
hive> add jar /home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar; //elasticsearch-hadoop-hive-2.1.2.jar放在本地文件系统的/home/hadoop文件夹。
Added /home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar to class path
Added resource: /home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar
|
连接方式 |
是否有效 |
|
Hive Shell |
不须要重新启动Hive服务就有效 |
|
Hive Server |
无效 |
2,Jar放入${HIVE_HOME}/auxlib文件夹
在${HIVE_HOME}中创建目录auxlib,然后将自己定义jar文件放入该目录中。
此方法加入不须要重新启动Hive。并且比較便捷。
|
连接方式 |
是否有效 |
|
Hive Shell |
不须要重新启动Hive服务就有效 |
|
Hive Server |
重新启动Hive服务才生效 |
3。HIVE.AUX.JARS.PATH和hive.aux.jars.path
HIVE.AUX.JARS.PATH和hive.aux.jars.path仅支持本地文件。可配置成文件,也可配置为目录。
在${HIVE_HOME}/conf/hive-env.sh下配置:
export HIVE_AUX_JARS_PATH=/home/hadoop/apache/hive-0.13.1/lib/mysql-connector-java-5.1.7-bin.jar #本地文件路径,不支持HDFS路径
类似的。能够在${HIVE_HOME}/conf/hive-site.xml下配置:
<property>
<name>hive.aux.jars.path</name>
<value>/home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar</value>
</property>
|
连接方式 |
是否有效 |
|
Hive Shell |
重新启动Hive服务才生效且不同的Hive Shell互不影响 |
|
Hive Server |
无效 |
注:hive-env.sh中配置的HIVE_AUX_JARS_PATH和hive-site.xml配置hive.aux.jars.path參数会有冲突。在使用的时候要特别注意。
4。直接将Jar增加${HIVE_HOME}/lib文件夹
|
连接方式 |
是否有效 |
|
Hive Shell |
重新启动Hive服务才生效 |
|
Hive Server |
重新启动Hive服务才生效 |
总结:仅仅有第2种和第4种方式才干在Hive Server中起效。其它的在Hive Server中都无效,网上看了一些文章。都说hive-site.xml配置hive.aux.jars.path是能够起作用的,可是试过非常多次都没用。百思不得其姐。期待大神答疑。
Hive怎样加入第三方JAR的更多相关文章
- Hive如何添加第三方JAR
以加入elsaticsearch-hadoop-2.1.2.jar为例,讲述在Hive中加入第三方jar的几种方式. 1,在hive shell中加入 [hadoop@hadoopcluster78 ...
- spark-submit 应用程序第三方jar文件
第一种方式:打包到jar应用程序 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式:spark-submit 参数 ...
- 如何在制作jar包时引用第三方jar包
我用的是Eclipse打包,但在CMD窗口执行的时候报“ActiveMQ.jar中没有主清单属性”错误. 在网上搜了下,这个与MANIFEST.MF文件有关,该文件没有定义MAIN方法所在类的路径,利 ...
- 解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题
用eclipse普通的打包方式,对含有第三方jar包的项目进行打包.调用方法后一只出现java.lang.NoClassDefFoundError问题. 从网上搜寻,很多都是在MANIFEST.MF文 ...
- [Android]proguard重新编译和如何不混淆第三方jar包
转载自:http://glblong.blog.51cto.com/3058613/1536516 一.ant安装.环境变量配置及验证 (一)安装ant 到官方主页http://ant.apache. ...
- eclipse将引用了第三方jar包的java项目打成jar包
今天用java开发了一个项目,想要打成jar包,并在linux环境下运行.但是运行时引用的第三方jar包却显示classNotFind错误. 于是查了一下解决办法,在此贴出来,方便以后查阅. 用Ecl ...
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
1. 首先,右键你的Java工程,选择Export,在Java文件夹下选择Runnable JAR file,如下图所示: 2. 选择Runnable JAR file后,会弹出如下所示的对话框,选择 ...
- Android项目:proguard混淆第三方jar.
1.Gson混淆 ## ---------------------------------- ## ########## Gson混淆 ########## ## ------------- ...
随机推荐
- 【AIX】查看系统内存、CPU等信息
1.查看内存大小(结果单位为kb) bootinfo –r 2.查看物理CPU个数 prtconf|grep Processors 3.查看逻辑CPU个数 pmcycles –m 4.查看COU核数 ...
- ADAMS与外部程序通信(Adams Command Server)
The Adams Command Server is an Adams View (or Adams Car) component that manages communication betwee ...
- 无法启动此程序,因为计算机中丢失 api-ms-win-crt-stdio-l1-1-0.dll 解决
问题描述 最近用一台Windows Server 2012 R2系统的机器的时候碰到了这个问题. 因为在网上看了很多解决方案,都没有很好的解决.所以记录一下这个问题的解决. 之前使用VS2013编译出 ...
- weblogic部署存在中文乱码导致部署失败
问题描述: weblogic控制台显示错误,是受管节点console日志 <-- 下午10时19分16秒 CST> <Info> <Security> <BE ...
- TCP/IP协议——TCP/IP协议栈及框架
TCP/IP协议同ISO/OSI模型一样,也可以安排成栈形式.但这个栈不同于ISO/OSI版本,比ISO/OSI栈少,所以又称之为短栈.另外,需要知道的是:TCP/IP协议栈只是许多支持ISO/OSI ...
- samba服务的高级进阶配置
本文将学习一下几个方面的内容,将会结合具体的实验来一步步实现. 1. 用户账号的映射 2. 使用IP对客户端进行访问控制 3. 使用域名对客户端进行访问控制 4. 使用通配符对客户端进行访问控制 5. ...
- 安装 Linuxbrew
在 OS X 平台上非常流行的包管理器 Homebrew 最近正被移植到 Linux 上而成为 Linuxbrew.虽然各种 Linux 发行都带有自己的包管理工具,诸如 apt-get.yum.pa ...
- Android——检测TXT文件中是否含有双字节字符
在读取双字节字符时,主要涉及到编码的选取: public static boolean isRightfulTXT(File f) { // TODO Auto-generated method st ...
- wcf 中客户端调用之死 感悟 wcf与原来的webservice2.0 的客户端调用区别(wcf调用完不关闭的话那就把web服务搞死了)
说到wcf,本人也是刚刚使用所以不是很熟悉 在做项目的时候采用webservice+客户端程序架构 写了一个wcf中的webservice之后,又写了很多的客户端exe程序,有的是轮询调用这个webs ...
- C# 程序打包Release版本
注意:DEBUG和RELEASE的区别,DEBUG下可以直接运行,而RELEASE不一定能直接运行,这并不是表示RELEASE版本有问题,而是表示两者需要操作不同.RELEASE版本要比DEBUG版本 ...