hive之UDF . UDAF . UDTF区别

2020-04-30  本文已影响0人  我的小猫不见了

1. UDF

针对一行做处理 , 比如求一列的STRING 全部 小写 lowwer
可以用这个 ,每一行处理一次 , 且互不影响

AADDF            会变成            aaddf
DDGGD                              ddggd
SADGH                              sadgh
GHJJJ                              ghjjj

2.UDAF

处理多行, 但结果只有一行 , 比如求最小值 min() , max( ) ,avg (),长度 len()

PARTIAL1 标识map阶段,会调用iterate()和terminatePartial()
PARTIAL2 标识combiner阶段,会调用merge()和terminatePartial()
FINAL    标识reduce阶段调用merge()和terminate()
COMPLETE 标识没有reduce阶段map,调用iterate()和terminate()

3.UDTF

这个可以一行变多行 , 类似于explode , 拆分 , 也有点像
Spark里面的flatMap

ADD.FFF.POU
DSH.LKL
RTY.LPK
----------------------------
变成
----------------------------
ADD
FFF
POU
DSH
LKL
RTY
LPK
上一篇下一篇

猜你喜欢

热点阅读