文档目的
笔者在工作中有接触到 Hive UDF 的开发任务,大部分 UDF 开发并不困难,困难的往往是:
- 不清楚 UDF 代码的编写逻辑(UDF、UDTF、UDAF)
- 不清楚如何传入特定类型的参数
- 不清楚如何返回特定类型的结果
特此整理一番,供自己日后工作参考之用。同时也分享给大家,可以指导初学者开发自定义UDF,也可以作为随用随查的参考手册:
UDF概念
Hive 一共有三种 UDF:
- UDF
- UDTF
- UDAF
UDF(user-defined function)
普通函数,也是最常用的UDF类型
一行输入(可以传入多个参数),返回一个(一行一列)结果
比如字符串转小写函数:lower():
- 接收一个字符串参数
- 返回一个转小写后的字符串结果
hive> select lower('HELLO WORLD');
# 结果
hello world