IDEA编写自定义函数
- pom.xml
1
2
3
4
5
6
7<hive.version>1.1.0-cdh5.7.0</hive.version>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>${hive.version}</version>
</dependency>
DEMO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15package com.dashu.hive;
import org.apache.hadoop.hive.ql.exec.UDF;
public class HelloUDF extends UDF{
public String evaluate(String input){
//TODO:工作中的详细业务功能
return "Hello:"+input;
}
public String evaluate(String input1,String input2){
//TODO:工作中的详细业务功能
return "Hello:"+input1+"=>"+input2;
}
}jar包编译并上传到Linux中
1
-rw-r--r--. 1 hadoop hadoop 7483 4月 18 10:39 hive_UDF.jar
当前Session生效
1 | - 添加jar包 |
永久生效方式
上传jar包到hdfs
1
2
3
4
5hadoop fs -mkdir /lib
hadoop fs -put /home/hadoop/data/hive/hive_UDF.jar /lib/
hadoop fs -ls /lib/
Found 1 items
-rw-r--r-- 1 hadoop supergroup 7483 2019-04-18 11:10 /lib/hive_UDF.jar添加永久函数
1
CREATE FUNCTION sayhello2 AS 'com.dashu.hive.HelloUDF' USING JAR 'hdfs://hadoop001:8020/lib/hive_UDF.jar' ;