Hive中如何添加自定義UDF函數以及oozie中使用hive的自定義函數
阿新 • • 發佈:2018-03-13
步驟 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的自定義函數