Hive有非常丰富的内置函数库,可以通过以下命令来查看所有的Hive自带函数:
# 查看所有自带函数
show functions;
# 显示自带函数的用法:
desc function upper;
# 详细显示函数用法
desc function extended upper;
常用自带函数:
#字符串连接函数:
concat select concat('abc','def’,'gh');
# 带分隔符字符串连接函数: concat_ws
select concat_ws(',','abc','def','gh');
# cast类型转换 select cast(1.5 as int);
# get_json_object(json 解析函数,用来处理json,必须是json格式)
select get_json_object('{
"name":"jack","age":"20"}','$.name');
#URL解析函数
select parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST');
除了可以使用Hive自带的函数,用户还可以自定义自己的函数,可分为三种UDF(一进一出),UDTF(一进多出)和UDAF(多进一出),下面来通过编写一个类似upper函数的UDF函数来体会一下编写用户自定义函数的过程:
1.导入maven依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
<dependency>
<groupId>org.apache.hive