本篇博客博主将分享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开发

       最后寄语,以上是博主本次文章的全部内容,如果大家觉得博主的文章还不错,请点赞;如果您对博主其它服务器大数据技术或者博主本人感兴趣,请关注博主博客,并且欢迎随时跟博主沟通交流。

01-31 03:35