本篇博客博主将分享Hive函数的基础知识.
1.内置运算符(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF)
2.内置函数(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF)
3.测试各种内置函数的快捷方法:
a.创建一个dual表:
create table dual(id string);
b.load一个文件(一行,一个空格)到dual表
load data local inpath '/home/hadoop/dual.dat' into table dual;
c.select substr('angelababy',2,3) from dual;
4.Hive自定义函数和Transform
当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。
自定义函数类别:
UDF 作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)
UDAF(用户定义聚集函数):接收多个输入数据行,并产生一个输出数据行。(count,max)
5.UDF开发实例(简单UDF示例)
a、先开发一个java类,继承UDF,并重载evaluate方法
package com.empire.bigdata.udf
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public final class Lower extends UDF{
public Text evaluate(final Text s){
if(s==null){return null;}
return new Text(s.toString().toLowerCase());
}
}
b、打成jar包上传到服务器
c、将jar包添加到hive的classpath
hive>add JAR /home/hadoop/udf.jar;
d、创建临时函数与开发好的java class关联
Hive>create temporary function tolowercase as 'cn.empire.bigdata.udf.ToProvince';
e、即可在hql中使用自定义的函数strip
Json数据解析UDF开发
最后寄语,以上是博主本次文章的全部内容,如果大家觉得博主的文章还不错,请点赞;如果您对博主其它服务器大数据技术或者博主本人感兴趣,请关注博主博客,并且欢迎随时跟博主沟通交流。