UDAF编写

2023-09-25 5 0

创建存储对象的类
创建对象
UDAF需要调用到的方法:
init     HIVE会调用此方法来初始实例化一个UDAF evaluator类    
iterate     将一行新的数据载入到聚合buffer中(对数据进行初始化处理)

 
 terminatePartial     以一种可持续化的方法返回当前聚合内容。(返回值只可以使用Java基本型数据和array,以及基本封装类型(例如Double),Hadoop中Writeable类、list和map类型。不能使用用户自定义类(即使实现了Java.io.serializable))我觉得是map的中间键a#b#c

 
merge     将terminatePartial返回的中间部分聚合结果合并到当前聚合中

 
terminate     返回最终聚合结果给hive(reduce)

 
UDAF的运行过程

 
代码编程
赞赏

相关文章

IOC容器——Unity 深度解析(一)
IOC容器——Unity
c#——标准Dispose模式的实现
c#——表达式树在LINQ动态查询
c#——ExpessionTree(表达式树)
c#—— Task.FromResult 的使用