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