hive3.1.x 自定义UDAF 作者:马育民 • 2020-11-24 23:05 • 阅读:10062 # 解释 UDAF,User-Defined Aggregation Functions,用户定义聚合函数。 hive自带的函数并不能完全满足业务需求,这时就需要我们自定义函数了 **UDAF 特点**:`many to one`,进来多个,出去一个,是row级别操作,如:聚合函数 `sum`、`min` ### 实现 UDAF实现有简单与通用两种方式: a. 简单UDAF因为使用Java反射导致性能损失,而且有些特性不能使用,已经被弃用了; b. 另一种涉及两个类:AbstractGenericUDAFResolver、GenericUDAFEvaluator; 继承UDAFResolver类,重写 getEvaluator() 方法; 继承GenericUDAFEvaluator类,生成实例给getEvaluator(); 在GenericUDAFEvaluator类中,重写init()、iterate()、terminatePartial()、merge()、terminate()方 参考: https://blog.csdn.net/qq_35688140/article/details/89600106 https://www.cnblogs.com/ggjucheng/archive/2013/02/01/2888051.html 原文出处:http://malaoshi.top/show_1IX2HtwiSE3I.html