在建立自定義函式時,需要將jar包全部部署到hive server節點的所有機器的使用者定義的udf引數目錄
hive.reloadable.aux.jars.path.jars.path.property<
/property>
<
value
>
/usr/lib/hive/lib<
/value
>
**呼叫
import org.apache.hadoop.hive.ql.exec.udfargumentexception;
import org.apache.hadoop.hive.ql.metadata.hiveexception;
import org.apache.hadoop.hive.ql.udf.generic.genericudf;
import org.apache.hadoop.hive.serde2.objectinspector.objectinspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.primitiveobjectinspecto***ctory;
import org.apache.hadoop.io.text;
/** * /usr/lib/hive/lib
* * hive.reloadable.aux.jars.path.jars.path.property+目錄
*/public
class
test extends genericudf );
system.
out.
println
(evaluate.
tostring()
);}//udf中引數校驗
public
objectinspector
initialize
(objectinspector[
] arguments) throws udfargumentexception
return primitiveobjectinspecto***ctory.writablebooleanobjectinspector;
}//udf中需要傳遞的引數
public
object
evaluate
(deferredobject[
] arguments) throws hiveexception
//報錯是報錯內容
public
string
getdisplaystring
(string[
] strings)
return sb.
tostring()
;}}
建立永久函式
create function str_add as
'com.test.test'
using jar 'hdfs://
namespace
/user/hive/lib/test.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函式
匯入自定義udf.jar的第3種方式!匯入核心依賴 外部pom已經匯入了hadoop依賴!org.apache.hivegroupid hive execartifactid 1.2.1version dependency dependencies package com.zhengkw.userf...