【分类】
•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等