内置函数
查看系统自带的函数
show funcations;
显示自带函数的用法
desc funcation upper;
详细显示自带函数的用法
desc funcation extended upper;
常用内置函数
字符串连接函数
select concat(‘abc’,‘def’,‘gh’);
带分隔符的字符串连接函数
select concat_ws(’,’,‘abc’,‘def’,‘gh’);
cast类型转换
select cast(1.5 as cnt);
get_json_object(json解析函数,用来处理json,必须是json格式)
select get_json_object(’{“name”:“tom”,“age”:“20”}’,’$.name’);
** URL解析函数**
select parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1’,‘HOST’); #facebook.com
select parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1’,‘PATH’); #/path1/p.php
select parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1’,‘QUERY’); #k1=v1&k2=v2#Ref1
select parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1’,‘QUERY’,‘k1’); #v1
自定义函数
根据用户自定义函数类别分为以下三种:
1.UDF(User-Defined-Function)
一进一出
2.UDAF(User-Defined Aggregation Function)
聚集函数,多进一出
类似于:count/max/min
3.UDTF(User-Defined Table-Generating Function)
一进多出
如 lateral/vier/explore
4.编程步骤
1.继承org.apache.hadoop.hive.ql.UDF
2.需要实现evaluate函数;evaluate函数支持重载;
5.注意事项
1.UDF必须要有返回类型,可以返回null,但是不能为void
2.UDF中常用Text/LongWritable等类型,不推荐使用java类型