Hive如何添加第三方JAR


文章转自:http://blog.csdn.net/qianshangding0708/article/details/50381966



以加入elsaticsearch-Hadoop-2.1.2.jar为例,讲述在Hive中加入第三方jar的几种方式。

1,在hive shell中加入

[java]  view plain  copy
  1. [hadoop@hadoopcluster78 bin]$ ./hive  
  2.   
  3. Logging initialized using configuration in file:/home/hadoop/apache/hive-0.13.1/conf/hive-log4j.properties  
  4. hive> add jar /home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar;                        //elasticsearch-hadoop-hive-2.1.2.jar放在本地文件系统的/home/hadoop目录。  
  5. Added /home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar to class path  
  6. 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-env.sh中的HIVE.AUX.JARS.PATH和hive-site.xml的hive.aux.jars.path配置对服务器无效,仅对当前hive shell有效,不同的hive shell相互不影响,每个hive shell都需要配置,可以配置成文件夹形式。

HIVE.AUX.JARS.PATH和hive.aux.jars.path仅支持本地文件。可配置成文件,也可配置为文件夹。

在${HIVE_HOME}/conf/hive-env.sh下配置:
[java]  view plain  copy
  1. 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下配置:
[java]  view plain  copy
  1. <property>  
  2.     <name>hive.aux.jars.path</name>  
  3.     <value>/home/hadoop/elasticsearch-hadoop-hive-2.1.2.jar</value>  
  4. </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种方式才能在Hive Server中起效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值