HIVE自定义函数

 


 

一 ,自定义函数的类别

UDF  作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)

UDAF(用户定义聚集函数):接收多个输入数据行,并产生一个输出数据行。(count,max)

二,UDF开发实例

  1,开发一个Java类,继承UDF,并重载evaluate方法(手动重载)。

 1 package cn.itcast.bigdata.udf
 2 import org.apache.hadoop.hive.ql.exec.UDF;
 3 import org.apache.hadoop.io.Text;
 4 
 5 public final class Lower extends UDF{
 6     public Text evaluate(final Text s){
 7         if(s==null){return null;}
 8         return new Text(s.toString().toLowerCase());
 9     }
10 }

  2,打成jar包上传到服务器。

  3,将jar包添加到hive的classpath

hive>add JAR /home/hadoop/udf.jar;

  4,创建临时函数与开发好的java class关联。

create temporary function toprovince as 'cn.itcast.bigdata.udf.ToProvince';

  5,即可在hql中使用自定义的函数strip 

Select strip(name),age from t_test;

 

 

 

 


 

posted @ 2018-10-24 22:21  薄点  阅读(1608)  评论(0编辑  收藏  举报