首页 > 其他分享 >HIVE 添加jar包的方式

HIVE 添加jar包的方式

时间:2024-01-26 15:37:07浏览次数:18  
标签:jar HIVE Hive hadoop 添加 hive home

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

 

 

以加入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

标签:jar,HIVE,Hive,hadoop,添加,hive,home
From: https://www.cnblogs.com/mengbin0546/p/17989509

相关文章

  • 添加和提交文件
      提交所有txt文件到暂存区 git add*.txt 提交所有文件到暂存区 gitadd .gitcommit-m"第一次提交"(如果不使用-m参数,则默认进入vim编辑提交信息) 查看提交记录 gitlog (--oneline查看简洁的提交信息) ......
  • Jmeter 的 jar 包开发环境搭建
       配置maven环境:1、下载地址:https://maven.apache.org/download.cgiwindows环境下载下面这个: 解压下载完的文件 2、编辑系统变量win+r键,输入sysdm.cpl回车,打开环境变量设置页面,1)新建一个:MAVEN_HOME值输入:D:\apache-maven-3.9.62)编辑path变量,在path值的最......
  • 添加窗口业务
    窗口初始化点击查看代码publicFrmEidt(){InitializeComponent();this.Text="添加窗口";this.txtCode.Focus();this.btnSave.Click-=btnEditEmployee_Click;this.btnSave.Click+=b......
  • Arch(Manjaro) Linux Pacman 命令详解
    参考Wiki:https://wiki.archlinuxcn.org/zh-hans/Pacmanyay命令参考:HerePacman是一个软件包管理器,作为ArchLinux发行版的一部分。简单来说,就是和apt-get之于Ubuntu一样,pacman就是Arch的apt-get。要想轻松玩转Arch,学会pacman是必需的。Pacman包管理器是ArchLinux的一大亮点。......
  • vue中动态添加style样式的几种写法总结
    项目中可能会需要动态添加style行内样式,但是在长期维护的项目里面,尽量要避免使用。注意:1、凡是有-的style属性名都要变成驼峰式,比如font-size要变成fontSize。2、除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:'#00a2ff'而不是backgroundColor:#00a2ff。......
  • nohup java -jar admin.jar > admin.log & ,什么意思
    这是一个在Linux或Unix系统中使用的命令行指令。让我为您逐个解释每个部分的含义:nohup:表示不挂断运行,并且不受终端关闭的影响。它允许您在退出终端后继续运行命令,即使终端会话已经结束。java-jaradmin.jar:这是要执行的命令,以Java命令行方式运行名为admin.jar的可......
  • html中添加背景音乐自动播放
    参考: https://www.runoob.com/try/try.php?filename=tryhtml5_av_prop_autoplayhttps://www.mchweb.net/mcbach/1650918861981130752.html 现在的浏览器对于audio、video标签的页面加载时都无法自动播放,各大官方给的意见是自动播放会吵人,只有在静音的模式 muted="true"下......
  • 软件测试/测试开发|Pytest allure为测试用例添加标题
    前言在测试过程中,清晰的测试报告对于了解测试结果和问题定位非常关键。如何使用pytest和Allure报告创建清晰的测试报告,本文将介绍通过使用allure.title来增强测试报告的可读性。allure.title的三种使用方式直接使用@allure.title为测试用例自定义标题;@allure.title支持通过占......
  • hive表分区
    为什么要使用分区表默认情况下,Hive中的查询会扫描整个表来获取结果。现在,考虑一个Hive表,它有数百万行。当一个简单的查询扫描该表时,它会消耗系统资源。而查询将花费大量时间来获取结果,这最终会影响hive应用程序的性能。因此,在分析如此大的表时,我们需要一种技术来优化查询的性能......
  • 编辑jar包中class文件的几种方式
    原文地址blog.csdn.net在日常的开发中经常使用到第三方一些库,这些库可能提供gradle仓库的依赖,也可能提供jar包,有时候为了我们的一些自定义操作,需要修改这些jar包中的代码.这个时候该怎么做呢?我所了解的可以修改jar中class的几种方式aop编程,使用aop框架hook想要修改的......