什么是UDF,UDAF,UDTF函数
UDF简单来说就是一对一,一个输入,一个输出
UDAF:User- Defined Aggregation Funcation;用户定义聚合函数,可对多行数据产生作用;也是聚合函数;
UDTF:User-Defined Table-Generating Functions,用来解决输入一行输出多行,但不怎么使用,使用explode,即用户定义表生成函数就可满足需求;
使用Java实现UDF
以实现string_upper(LETTER) = letter为例
java端
1,创建maven工程,导入相关依赖
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-common</artifactId>
<version>1.1.0</version>
</dependency>
build替换成这个
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8

本文介绍了HIVE中的UDF(用户定义函数)、UDAF(用户定义聚合函数)和UDTF(用户定义表生成函数),详细讲解了如何使用Java实现UDF,包括在Java端创建Maven工程、编写UDF类以及打包成jar。在Linux端,文章说明了将jar包添加到HIVE并创建永久函数的步骤,同时提供了测试方法。
最低0.47元/天 解锁文章
828

被折叠的 条评论
为什么被折叠?



