hive自定義函式解析

2021-12-30 09:21:40 字數 875 閱讀 9004

分類

udf(user-defined-function) :處理一進一出

例如:length(string)、substr(string|binary a, int start)、date_add(string startdate, int days)、 split(string str, string pat)

udaf(user-defined-aggregation-funcation):處理多進一出

例如:sum()、max()、collect_list(col)

udtf(user-defined table-generating functions):處理一進多出

例如: explode(array)

udf

一進一出

可以直接應用於select語句,對查詢結構做格式化處理後,再輸出內容

udf使用方式

在hive會話中add 自定義函式的jar檔案,然後建立function,繼而使用函式

在進入hive會話之前先自動執行建立function,不用使用者手工建立

把自定義的函式寫到系統函式中,使之成為hive的乙個預設函式,這樣就不需要create temporary function

udaf

udaf:使用者自定義聚合函式,處理多進一出

udaf應用場景:需求數計算

udtf

udtf:處理一進多出

udtf應用場景:切分字串、解析jsonarraylist等

hive自定義函式

1.建立類,繼承udf package com.hivedemo.udf import org.apache.hadoop.hive.ql.exec.description import org.apache.hadoop.hive.ql.exec.udf 自定義hive函式 description...

Hive 自定義函式

返回 所有自帶的函式 show functions 返回對該函式的解釋 desc function spilt 返回對該函式的使用例子 desc function extended split1.udf user defined function datediff,date format 等函式 一...

Hive 自定義函式

hive 支援自定義udf,udtf,udaf函式 以自定義udf為例 使用乙個名為evaluate的方法 package com.hive.custom import org.apache.hadoop.hive.ql.exec.udf import org.apache.hadoop.io.in...