1

HIVE 添加jar包的方式

https://blog.csdn.net/qianshangding0708/article/details/50381966

 

Hive 引入第三方Jar包的方式

https://blog.csdn.net/weixin_40579109/article/details/112614334

 

 

查看加载jar包:

0: jdbc:hive2://hdp02:2181,hdp01:2181/default> list jar
. . . . . . . . . . . . . . . . . . . . . . .> ;
+-----------+
| resource  |
+-----------+
+-----------+

 

 

 
<property>

  <name>hive.aux.jars.path</name>

  <value>/user/elasticsearch-hadoop-8.11.4.jar</value>

</property>

-- 路径必须为本地 服务器路径,所有节点都要存放.
-- 然后重启hiveserver服务.
-- beeline 和hive命令不一样, beeline属于客户端,hive属于服务器端.

 

 

以加入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-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下配置:

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是可以起作用的,但是试过很多次都没用,百思不得其姐,期待大神答疑。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qianshangding0708/article/details/50381966

posted @ 2024-01-26 15:28  萌哥-爱学习  阅读(269)  评论(0编辑  收藏  举报