HIVE自定义函数

Posted songweideboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

 

 

 


 

以上是关于HIVE自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

Hive UDF 第一篇:怎么实现自己的 hive 自定义函数

2021年大数据Hive:Hive自定义函数

hive自定义函数(UDF)

Hive脚本、Hive API、Hive 自定义函数

查询hive中都有哪些自定义函数

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用