操作步骤:

1. 修改.hiverc文件

在hive的conf文件夹下面,如果没有.hiverc文件,手工自己创建一个。

参照如下格式添加:

add jar /usr/local/hive/external_lib/gw-hive-udf.jar;
create temporary function myexp as 'com.gw.hive.udf.udtf.ExplodeEx';

第一行为自定义jar包存放的路径。

第二行为定义的funtion全类名,并且指定函数名为myexp;

2.上传jar包

将jar包上次到上面的目录中/usr/local/hive/external_lib

重启hive就可以使用。

3.oozie中安装

如果在oozie中调度hive的脚本时,需要用到该自定义包,则需要单独配置。

oozie调用时,使用到的依赖都包是保存在hdfs上的。

如果是hive通用的jar包,则放到hdfs上的oozie指定的hive目录中。

/user/oozie/share/lib/hive

如果属于某个程序单独用的依赖jar包,则上传到程序所在目录的lib文件夹中。

比如:/user/oozie/app/guba_loginlog/lib/,比如

然后需要使用以下命令刷新oozie的共享包。

oozie admin -sharelibupdate

在oozie调用的脚本中同样需要添加:

create temporary function myexp as 'com.gw.hive.udf.udtf.ExplodeEx';

190806更新:

1. 准备条件

上传文件到hdfs上:

# 上传文件到hdfs
hdfs dfs -put encryptAll-1.0.jar /user/hive/udf/

2.1 hive中添加临时自定义函数

#临时
add jar hdfs://ns1/user/hive/udf/udf/encryptAll-1.0.jar;
或者
add jar /opt/local/hive/udf/encryptAll-1.0.jar; # 创建函数:
create temporary function encrypt_all as 'com.test.udf.EncryptAll';
create temporary function decrypt_all as 'com.test.udf.DecryptAll';

2.2 hive中添加永久自定义函数

#永久:
create function encrypt_all as 'com.test.udf.EncryptAll' using jar 'hdfs://ns1/user/hive/udf/encryptAll-1.0.jar';
create function decrypt_all as 'com.test.udf.DecryptAll' using jar 'hdfs://ns1/user/hive/udf/encryptAll-1.0.jar';

Hive中如何添加自定义UDF函数以及oozie中使用hive的自定义函数的更多相关文章

  1. Hive自定义函数的学习笔记(1)

    前言: hive本身提供了丰富的函数集, 有普通函数(求平方sqrt), 聚合函数(求和sum), 以及表生成函数(explode, json_tuple)等等. 但不是所有的业务需求都能涉及和覆盖到 ...

  2. Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数

    10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ...

  3. oozie中调度mapreduce

    mapreduce可以直接对hdfs进行清洗和计算,这里介绍oozie中如何调度使用. 操作步骤如下: 1. 写一个mapper和reduce类,并且打包成jar包 2. 在workflow中引用ma ...

  4. PHP中call user func()和call_user_func_array()调用自定义函数小结

    call_user_func() 和 call_user_func_array(),通过传入字符串函数,可以调用自定义函数,并且支持引用,都允许用户调用自定义函数并传入一定的参数: 1.mixed c ...

  5. [原创]java WEB学习笔记42:带标签体的自定义标签,带父标签的自定义标签,el中自定义函数,自定义标签的小结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  6. 浅谈Excel开发:六 Excel 异步自定义函数

    上文介绍了Excel中的自定义函数(UDF ),它极大地扩展了Excel插件的功能,使得我们可以将业务逻辑以Excel函数的形式表示,并可以根据这些细粒度的自定义函数,构建各种复杂的分析报表. 普通的 ...

  7. 【转】MYSQL入门学习之十三:自定义函数的基本操作

    转载地址:http://www.2cto.com/database/201212/177382.html 一.自定义函数(UDF)的特性和功能  www.2cto.com           函数能分 ...

  8. MySQL从删库到跑路_高级(二)——自定义函数

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.自定义函数简介 自定义函数(user-defined function UDF)是一种对MySQL扩展的途径,其 ...

  9. excel自定义函数添加和使用方法

    第一,excel自定义函数简介 Excel自带很多函数供使用,但有些问题用内置函数解决起来很复杂,甚至是无能为力,这时就可以利用VBA开发自定义函数. 第二,excel如何添加自定义函数 excel自 ...

随机推荐

  1. SecureCRT 详细使用教程和技巧

    SecureCRT 常用技巧 0.在secureCRT里切换不同的窗口:ctrl+tab.    复制:[ctrl] + [shift] + c    粘贴:[ctrl] + [shift] + v  ...

  2. SVN解决创建文件时不带锁

    解决创建文件时不带锁   C:\Documents and Settings\你的用户名\Application Data\Subversion   找到上面的用户路径 打开config添加 ### ...

  3. ubuntu 安装 LAMP环境

    http://jingyan.baidu.com/article/a681b0de36ad683b18434691.html

  4. android通过USB使用真机调试程序

    我的机子很老,开启个android模拟器都要好几分钟,但幸亏有个android的真机,这样直接在andriod手机上调试也是一个不错的选择.下面我就介绍 一下使用android手机来调试android ...

  5. Report_Report Builder的一些基本概念(概念)

    2014-05-31 Created By BaoXinjian

  6. Python count() 方法

    描述 count() 方法用于统计字符串中某个子字符串出现的次数,可选参数为开始搜索与结束搜索的位置索引. 语法 count() 方法语法: S.count(sub[,start=0[,end=len ...

  7. [转载]Class-AB Amplifier 笔记

    Class-AB Amplifier 笔记 Reading Notes from Mikko Loikkanen “Design and Compensation of High Performanc ...

  8. Googleplay从服务器检索信息时出错。[DF-DFERH-01]

    googleapis.cn services.googleapis.cn 两个地址强制走代理就OK了.

  9. mysql 再查询结果的基础上查询(子查询)

    SELECT A.wx_name, A.wx_litpic, B . * FROM ( SELECT uid, COUNT( * ) AS daticishu FROM statements , ) ...

  10. jenkins 构建执行jmeter测试流程

    性能测试使用maven工程说明1.依赖尽量用maven依赖管理2.添加jmeter maven依赖 <dependency> <groupId>org.apache.jmete ...