Hive 自定义函数 UDF UDTF UDAF
-
UDF:用户定义(普通)函数,只对单行数值产生作用;
UDF只能实现一进一出的操作。
定义udf 计算两个数最小值 public class Min extends UDF { public Double evaluate(Double a, Double b) { if (a == null) a = 0.0; if (b == null) b = 0.0; if (a >= b) { return b; } else { return a; } } } a)把程序打成jar包 b)添加jar包:add jar /run/jar/udf_test.jar; c)创建临时函数:hive>CREATE TEMPORARY FUNCTION add_example AS 'hive.udf.Add'; d)销毁临时函数:hive> DROP TEMPORARY FUNCTION add_example; -
UDTF:User-Defined Table-Generating Functions,用户定义表生成函数
用来解决输入一行输出多行
继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF, 实现initialize, process

本文介绍了Hive中的三种自定义函数:UDF(用户定义普通函数),主要针对单行数据操作;UDTF(用户定义表生成函数),用于将一行数据转化为多行;以及UDAF(用户定义聚合函数),可以处理多行数据并返回单个结果。UDTF示例展示了其将一行数据转换为多行的功能,而UDAF则类似于SQL中的SUM()和AVG(),实现多行数据的聚合。
最低0.47元/天 解锁文章
822

被折叠的 条评论
为什么被折叠?



