一、前提准备
1.搭建idea maven 开发环境
file -->Mew --> project -->Maven-

2.配置pom.xml
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.2</version>
</dependency>
然后导入import maven变更
二、编写一个简单的函数
package com.paic;
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());
}
}

注意:自定义UDF需要继承UDF类并实现evaluate()函数
1.运行无误后打包
打包:直接在命令行输入: mvn clean package
2.上传到linux服务器/home/udf/
3.进入hive,将jar包导入hive中
hive> add jar /home/udf/Lower.jar ;
Added [/home/udf/Lower.jar] to class path
Added resources: [/home/udf/Lower.jar]
hive> create temporary function testLower as 'com.paic.Lower';
hive> insert into Test values("ZHANZHE");
hive> select testLower(name) from Test;
OK
zhanzhe
网友评论