一、关于UDF、UDAF、UDTF三种自定义函数
1.UDF:用户自定义函数(一输入一输出)
继承 UDF 类
◆ 重写 evaluate 方法
◆ 打包类所在项目成一个 all-in-one 的 jar 包并上传到 hive 所在机器
◆ 在 hive 中执行 add jar 操作,将 jar 加载到 classpath 中。
◆ 在 hive 中创建模板函数,使得后边可以使用该函数名称调用实际的udf函数
◆ hive sql 中像调用系统函数一样使用 udf 函数
2.UDAF:用户自定义聚合函数(aggregation)n:1 输入输出比
继承 UDAF 类
◆ 内部定义一个静态类,实现 UDAFEvaluator 接口
◆ 实现方法 init,iterate,terminatePartial,merge,terminate 共 5 个方法
3.UDTF:表函数 一输入多输出
典型的函数就是explode,现在的UDTF都可以用UDF和UDAF表示,所以就没有继续研究了。