hive的udaf相关函数

来源:互联网 发布:php干什么用的 编辑:程序博客网 时间:2024/05/22 12:27

abstractGenericUDAFResolver类的主要作用就是提供hql调用时候的函数参数来获取具体的GenericUDAFEvaluator实例对象,也就是说实现方法getEvaluator即可,该方法的主要作用就是根据参数的不同返回不同的evaluator实例对象,实现多态性。


GenericUDAFEvaluator类主要作用就是根据job的不同阶段执行不同的方法。hive通过GenericUDAFEvaluator.Model来确定job的执行阶段。

1,从原始数据到部分聚合,会调用方法iterate和terminatePartial方法

2,从部分数据聚合和部分数据聚合,会调用方法merge和terminatePartial

3,final,从部分数据聚合到全部数据聚合,会调用方法merge和terminate

complete: 从原始数据到全部数据聚合,会调用方法iterate和terminate。

除了上面提到的iterate,merge,terminate,terminatePartial以外,还有init(初始化并返回返回值的类型),getNewAggregationBuffer(获取新的buffer对象,也就是方法之间传递参数的对象),reset(重置buffer对象)



0 0
原创粉丝点击