以增加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配置对server无效,仅对当前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是能够起作用的,可是试过非常多次都没用。百思不得其姐。期待大神答疑。

Hive怎样加入第三方JAR的更多相关文章

  1. Hive如何添加第三方JAR

    以加入elsaticsearch-hadoop-2.1.2.jar为例,讲述在Hive中加入第三方jar的几种方式. 1,在hive shell中加入 [hadoop@hadoopcluster78  ...

  2. spark-submit 应用程序第三方jar文件

    第一种方式:打包到jar应用程序 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式:spark-submit 参数 ...

  3. 如何在制作jar包时引用第三方jar包

    我用的是Eclipse打包,但在CMD窗口执行的时候报“ActiveMQ.jar中没有主清单属性”错误. 在网上搜了下,这个与MANIFEST.MF文件有关,该文件没有定义MAIN方法所在类的路径,利 ...

  4. 解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题

    用eclipse普通的打包方式,对含有第三方jar包的项目进行打包.调用方法后一只出现java.lang.NoClassDefFoundError问题. 从网上搜寻,很多都是在MANIFEST.MF文 ...

  5. [Android]proguard重新编译和如何不混淆第三方jar包

    转载自:http://glblong.blog.51cto.com/3058613/1536516 一.ant安装.环境变量配置及验证 (一)安装ant 到官方主页http://ant.apache. ...

  6. eclipse将引用了第三方jar包的java项目打成jar包

    今天用java开发了一个项目,想要打成jar包,并在linux环境下运行.但是运行时引用的第三方jar包却显示classNotFind错误. 于是查了一下解决办法,在此贴出来,方便以后查阅. 用Ecl ...

  7. Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...

  8. Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)

    1. 首先,右键你的Java工程,选择Export,在Java文件夹下选择Runnable JAR file,如下图所示: 2. 选择Runnable JAR file后,会弹出如下所示的对话框,选择 ...

  9. Android项目:proguard混淆第三方jar.

    1.Gson混淆 ## ---------------------------------- ##   ########## Gson混淆    ########## ## ------------- ...

随机推荐

  1. dubbo实现动态调用

    在支付网关的业务中,在用户支付成功/失败后需要异步通知业务方,这个时候业务方是一个变数,支付网关可以定义一个interface,各个业务方来实现这个接口. 支付网关配置一个回调配置表,表中包含:gro ...

  2. group by 分组

    group by 分组:一般情况下group需与统计函数(聚合函数)一起使用才有意义 mysql中的五种统计函数: ()max:求最大值 select max(goods_price) from go ...

  3. 转:修改ETM,用Ogre实现《天龙八部》地形与部分场景详解

    本文主要讲的是<天龙八部>游戏的地形和一部分场景的具体实现,使用C++, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了.文章可能讲得有点罗嗦,很多简单的东西都讲了 ...

  4. 在发送信息时应用PendingIntent.FLAG_UPDATE_CURRENT

    1. 连续发送两条信息时,出现bug.以下是bug现象描述. 发送第一条信息,sentReceiver弹出toast告知发送成功,同时在listview中的发送状态立即同步更新为发送成功. 继续发送第 ...

  5. Easyui入门视频教程 第10集---Messager的使用

    Easyui入门视频教程 第10集---Messager的使用 <script type="text/javascript"> function show(){ $.m ...

  6. 致Play Framework开发者们的一封信

    2012/04/06  导读:3月中旬,Play Framework 2.0 正式版发布了.2.0 版本的主要新特性:内置对 Java 和 Scala 的支持.完全异步编程模型.侧重于类型安全.强大的 ...

  7. [转载]显示SVN控制台

    原文地址:显示SVN控制台作者:瘦骨临清风  青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

  8. JavaScript概念梳理

    一.JavaScript 的奇葩命名史 1995 年,网景浏览器(Netscape Navigator)首次发布了一种运行于浏览器端的脚本语言,网景给这个新语言命名为 LiveScript.一年后,为 ...

  9. Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解

    Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 交叉编译器下载 见这篇文章http://www.linuxidc.c ...

  10. POJ 2296 Map Labeler (2-Sat)

    Map Labeler Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1267   Accepted: 409 Descri ...