Hive 高级操作(四)之 Hive 自定义函数 UDF

本文详细介绍了如何在Hive中创建和使用用户自定义函数(UDF)。从一个简单的UDF示例开始,讨论了如何开发和添加Java类到Hive的classpath,以及如何建立临时函数进行调用。接着,文章深入到Json数据解析,展示了如何处理Json数据,包括使用get_json_object或自定义函数,并通过Transform关键字配合Python脚本来转换Unix时间戳为日期编号。
摘要由CSDN通过智能技术生成

1、用户自定义函数

当 Hive 提供的内置函数无法满足业务处理需要时,此时就可以考虑使用用户自定义函数。
UDF(user-defined function):作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)。
UDAF(用户定义聚集函数 User- Defined Aggregation Funcation):接收多个输入数据行,并产生一个输出数据行。(count,max)。
UDTF(表格生成函数 User-Defined Table Functions):接收一行输入,输出多行(explode)。

2、一个简单的 UDF 示例

(1)先开发一个简单的 java 类,继承 org.apache.hadoop.hive.ql.exec.UDF,重载 evaluate 方法:

Package com.zc.hive.udf
import java.util.HashMap;
import org.apache.hadoop.hive.ql.exec.UDF;
public class ToLowerCase extends UDF {
	// 必须是 public,并且 evaluate 方法可以重载
	public String evaluate(String field) {
		String result = field.toLowerCase();
		return result;
	}
}

(2)打成 jar 包上传到服务器。
(3)将 jar 包添加到 hive 的 classpath:
hive>add JAR /home/hadoop/hivejar/udf.jar;
查看加入的 jar 的命令:
hive>list jar;
(4)建临时函数

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值