是什么
- UDF: 在hive中输入一行数据, 返回一个新的数据
- UDTF: 输入一行数据, 返回多行数据
- UDAF: 输入多行数据, 返回一行数据
为什么
在hive中, 有一些复杂的功能,hive自己给的一些函数已经满足不了的时候, 而写MapReduce又很麻烦, 希望能使用到Hive来自定义处理的时候, 就可以使用自定义函数.
怎么做
- 自定义一个函数, 需要的就是简单的继承一下
GenericUDF
或者GenericUDTF
或者GenericUDAFEvaluator
等. 然后实现对应的方法.如下
GenericUDF
: evaluate
GenericUDTF
: process