流程
- 写java
- 打jar包
- add jar filePath(可本地,可hdfs)
- create temporary function xxx as “your class”
// 1. 继承udf
// 2. 实现evaluate方法
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class UDFTest extents UDF {
public Text evaluate(Text input){
return new Text("hello:" + input.toString());
}
}
<properties>
<hadoop.version>2.6.0</hadoop.version>
<hive.version>1.1.0</hive.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>${hive.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
UDF种类
function | 用法 |
---|---|
UDF | |
genericUDF | |
UDAF | 多进一出 |
UDTF | 一进多出 |
Reference
https://blog.csdn.net/Gavin_chun/article/details/78169317
https://blog.csdn.net/qq_34319644/article/details/95668820