UDF可以直接应用于select语句,对查询结果做格式化处理后输出内容
操作作用于单个数据行,且产生了一个数据行作为输出
实现UDF(User-Defined-Function)
需要继承org.apache.hadoop.hive.ql.UDF
需要实现evaluate函数(evaluate函数支持重载)
实例:
实现UDF查找hive表中array类型列的值中是否包含某一项
SELECT FIND_IN_ARRAY(column, ‘key’) FROM users;
数据准备
# cat /root/person.txt
zhangsan beijing,shanghai,tianjin,hangzhou
lisi changchu,chengdu,wuhan
创建表&导入数据
Create table users(name string, worklocations array<string> ) row format delimited fields terminated by '\t' collection items t