hive需要引入包时?该怎么引入?

一、hive-site.xml中的hive.aux.jars.path

此配置项对于hive server有效,但是是不会作用到hive shell.也就是说即使你在hive节点上配置了这一项,但是对于hive shell来说是无效的(为什么会这样?难道不是服务器配置了,所有的hive shell都能生效吗?搞不懂)。但是在hive-site.xml的模板文件中找不到hive.aux.jars.path的配置,是不是hive正慢慢改变用户放弃配置此属性呢?

注意:1,目前只支持file://也就是本地文件,暂不支持HDFS,也不支持文件夹。2,多个文件使用逗号分隔。3,不能换行。

有类似hbase-0.94.15-cdh4.7.0.jar包时,可以使用如下配置:

<property>
<name>hive.aux.jars.path</name>
<value>file:///home/cdh/apps/hive-0.10.0-cdh4.7.0/lib/hive-hbase-handler-0.10.0-cdh4.7.0.jar,file:///home/cdh/apps/hive-0.10.0-cdh4.7.0/lib/hbase-0.94.15-cdh4.7.0.jar,file:///home/cdh/apps/hive-0.10.0-cdh4.7.0/lib/zookeeper-3.4.5-cdh4.7.0.jar,file:///home/cdh/apps/hive-0.10.0-cdh4.7.0/lib/antlr-runtime-3.4.jar</value>
</property>
没有类似hbase-0.94.15-cdh4.7.0.jar包时,可以使用如下配置:

<property>
<name>hive.aux.jars.path</name>
<value>file:///home/hadoop/apps/hive-0.12.0-cdh5.1.0/lib/hive-hbase-handler-0.12.0-cdh5.1.0.jar,file:///home/hadoop/apps/hive-0.12.0-cdh5.1.0/lib/hbase-client-0.98.1-cdh5.1.0.jar,file:///home/hadoop/apps/hive-0.12.0-cdh5.1.0/lib/hbase-common-0.98.1-cdh5.1.0.jar,file:///home/hadoop/apps/hive-0.12.0-cdh5.1.0/lib/zookeeper-3.4.5-cdh5.1.0.jar</value>
</property>
二、hive-env.sh中的HIVE.AUX.JARS.PATH
hive-env.sh中的HIVE.AUX.JARS.PATH对服务器无效,仅对当前hive shell有效,不同的hive shell相互不影响,每个hive shell都需要配置,可以配置成文件夹形式。

注意:1,根据hive启动脚本,此属性应该也只支持file://也就是本地文件,暂不支持HDFS,没有做验证。2,此配置可以配置文件,也可以配置成文件夹,建议配置成文件夹。

可以使用如下配置:

export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib
三、使用add jar

使用add jar应该也对服务器无效,仅对当前hive shell有效(没验证过),add jar 建议制定一个HDFS路径,jar包上传到HDFS上,这样比较方便。如果指定是本地路径,则需要确保每个hive shell节点上的对应位置上都放置了需要的jar包,这样操作起来比较麻烦。

可以使用如下命令:

add jar hdfs://hadoop01:9000/user/hive/share/HiveUdf.jar;
delete jar hdfs://hadoop01:9000/user/hadoop/share/HiveUdf.jar;

hive引入jar包--HIVE.AUX.JARS.PATH和hive.aux.jars.path的更多相关文章

  1. CM给hive添加自定义jar包

    使用的是cloudera manager管理的集群: hive添加自定义jar包 服务端:高级:Hive 辅助 JAR 目录 设置的的路径是影响所有服务端的设置,比如hue中使用到了hive查询编辑器 ...

  2. Maven工程引入jar包

    Maven项目引入jar包的方法 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add Exte ...

  3. Maven工程引入jar包(转)

    Maven项目引入jar包的方法,希望能帮助有需要的朋友们 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—& ...

  4. Eclipse引入jar包的三种方式

    引用自 http://chenxu.wo.blog.163.com/blog/static/50239687201162310620634/ 使用Eclipse开发应用程序,少不了使用第三方jar包, ...

  5. 关于常用的编码工具如何引入jar包

    myeclipse和eclipse(差不多)引入jar包: 普通项目: 1.对准你的项目创建一个文件夹名字尽量命名成lib(注意要和src平级,不要在src下创建文件夹). 2.将下载好的依赖放到li ...

  6. Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示

    Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示 解决方案: 1,在Eclipse中,点击window-->Preferences-->Java-->B ...

  7. eclipse javaWeb项目如何引入jar包

      eclipse javaWeb项目如何引入jar包 CreateTime--2018年4月19日08:54:24 Author:Marydon 1.判断当前jar包是否已经引入到项目当中的3种方式 ...

  8. Java环境变量配置以及作用、JDK与JRE区别以及命令行引入jar包

    在配置环境变量中: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAV ...

  9. javac编译单文件、多文件引入jar包、-cp解决无法加载主类问题

     引言:很多人用ide集成开发环境用的多了,对dos命令编译多个java文件或引入jar包都变得陌生了,java不同于其他解释语言,如ruby.php 都有require,直接引入即可运行代码,但ja ...

随机推荐

  1. sublime text 删除插件

    1.ctrl+shift+p 输入remove package 选择要删掉的插件即可 2.去掉产生临死文件的插件:phptools

  2. c++ double float 数值比较

    浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基 ...

  3. 什么是集群(Cluster)技术

    什么是集群(Cluster)技术Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理.此单一系统为客户工作站提供高可*性的服务.大多数模式下,集群 ...

  4. Appium - WebView測试(Android)

    Appium - WebView測试 作者: Max.Bai 时间: 2015/07 Appium - WebView測试(Android) 如今App都是混合型的.有原生的也包括WebView的,a ...

  5. eclipse、tomca和jvm的相关内存配置

    1,  设置Eclipse内存使用情况        修改eclipse根目录下的eclipse.ini文件        -vmargs  //虚拟机设置        -Xms40m        ...

  6. Zookeeper(一)-- 简介以及单机部署和集群部署

    一.分布式系统 由多个计算机组成解决同一个问题的系统,提高业务的并发,解决高并发问题. 二.分布式环境下常见问题 1.节点失效 2.配置信息的创建及更新 3.分布式锁 三.Zookeeper 1.定义 ...

  7. Python 数据类型:元组

    一.元组介绍 1. 元组可以存储一系列的值,使用括号来定义,每个元素之间用逗号隔开,形如 ('a', 'b', 'c', 'd')2. 元组一旦定义,元组内的元素就不能再修改,除非重新定义一个新的元组 ...

  8. remove()

    remove() 用于从列表中删除指定的元素 In [35]: l = ['a', 'b', 'c'] In [36]: l.remove('b') In [37]: l Out[37]: ['a', ...

  9. Docker源码分析(三):Docker Daemon启动

    1 前言 Docker诞生以来,便引领了轻量级虚拟化容器领域的技术热潮.在这一潮流下,Google.IBM.Redhat等业界翘楚纷纷加入Docker阵营.虽然目前Docker仍然主要基于Linux平 ...

  10. Python 中的线程-进程2

    原文:https://www.cnblogs.com/i-honey/p/7823587.html Python中实现多线程需要使用到 threading 库,其中每一个 Thread类 的实例控制一 ...