hive的自定义函数的区别

HIVE自定义函数之UDF,UDAF和UDTF的区别:

  • UDF

输入一行数据输出一行数据。java代码中用户必须要继承UDF,且必须至少实现一个evalute方法。

  • UDAF

输入多行数据输出一行数据,一般在group by中使用。java代码 中Evaluator需要实现 init、iterate、terminatePartial、merge、terminate这几个函数 init初始化,iterate函数处理读入的行数据,terminatePartial返回iterate处理的中建结果,merge合并上述处理结果,terminate返回最终值。

  • UDTF

用来实现一行输入多行输出。java代码 initialize初始化校验参数是否正确。process处理返回结果。forward将结果返回。

猜你喜欢

转载自blog.csdn.net/huo386680070/article/details/89154590
今日推荐