hive開發udf函式打包jar檔案後,需將jar檔案放入hive的執行環境,方法有三。
先將中重定義的兩個類打包成deftextinputformat.jar,並放到/home/hdfs目錄下。
1、方法一:使用add jar命令
1)在hive下執行:add jar /home/hdfs/deftextinputformat.jar;
added [/home/hdfs/deftextinputformat.jar] to class path
added resources: [/home/hdfs/deftextinputformat.jar]
該方法每次啟動hive的時候都要從新加入,退出hive就會失效。
2)驗證,建表語句如下:
[plain]view plain
copy
row format delimited
fields terminated by '#'
stored as inputformat
'com.hive.deftextinputformat'
outputformat
'org.apache.hadoop.hive.ql.io.hiveignorekeytextoutputformat'
location
'hdfs://nameservice-ha/pgw/gz';
查詢後檔案和表字段一致。
2、hive-site.xml檔案配置hive.aux.jars.path:
hive.aux.jars.path
file:///home/hdfs/fangjs/deftextinputformat.jar,file:///jarpath/test.jar
該方法不需要每次啟動hive執行命令加入,需要配置檔案。
3、根目錄$下建立資料夾auxlib,然後將自定義jar檔案放入該資料夾中;
該方法方便快捷,不過對於客戶端操作環境就不能執行。
hive自定義函式UDF
hive自定義函式 udf 可以幫助使用者輕鬆實現在hql語句中展現自定義查詢結果。這裡以乙個簡單的連線函式來實現使用者自定義函式,假設表結構如下 表中只有兩個簡單的字段,id和name。這裡實現乙個將id和name用 連線的函式,最後輸出結果。第一步 書寫stringjoin類,繼承udf,實現名...
hive自定義函式 UDF
幾個命令 檢視所有函式 hive show functions 檢視函式的使用方法 hive desc function 函式名 兩數和 addudf 自定義hive函式 description name myadd value myadd int a int b return a b extend...
hive自定義udf函式
在建立自定義函式時,需要將jar包全部部署到hive server節點的所有機器的使用者定義的udf引數目錄 hive.reloadable.aux.jars.path.jars.path.property property value usr lib hive lib value 呼叫 impor...