HIVE中的UDF,UDAF,UDTF函数

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值