Hive中如何添加自定义UDF函数以及oozie中使用hive的自定义函数

Posted 胖子学习天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive中如何添加自定义UDF函数以及oozie中使用hive的自定义函数相关的知识,希望对你有一定的参考价值。

直接来说操作步骤:

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;

 

以上是关于Hive中如何添加自定义UDF函数以及oozie中使用hive的自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Hive 中重新加载更新的自定义 UDF 函数?

Hive如何在源码中添加自定义UDF?

0011-如何在Hive & Impala中使用UDF

自定义UDF函数,从hive保存到mongodb

Hive自定义UDF函数

Hive开发自定义函数UDF