261

问答题 261 /376

是否写过udf,问udaf,udtf区别和一些细节

参考答案

参考回答:

udf:user defined function

特点:input:output=1:1

实例函数:md5,split,ltrim

应用场景:1:1的情况,比如md5...

实现方法:简单udf实现

extends UDF

方法名 evaluate

udaf:user defined aggregation function

特点: input:output=n:1

示例函数:sum,count,max,min......

实现方法:extends UDAF,内部静态类实现接口UDAFEvaluator

五大方法:init:初始化map或是reduce需用到的变量

iterate:迭代处理每条数据,true

terminatePartial:相当于mr的combiner

merge:其输入一定是terminatePartial的输出

terminate:处理的是merge的结果

udtf:user defined table function

特点:input:output=1:n

示例函数:explode

实现方法:udf+explode