1. 程式人生 > >Hive中如何添加自定義UDF函數以及oozie中使用hive的自定義函數

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

步驟 strong 重啟 一個 文件夾 spa nlog hdfs share

直接來說操作步驟:

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的自定義函數