Hive创建自己的UDF并永久化详细记录

本文详细记录了在Hive中创建用户定义函数(UDF)的过程,包括需求分析、Java代码编写、jar包制作、上传至HDFS以及在Hive中注册和使用。通过UDF解决日志中手机分辨率颠倒的问题,确保日志清洗后分辨率格式统一。
摘要由CSDN通过智能技术生成

1.UDF是什么?

hive的类SQL预发给数据挖掘工作者带来了很多便利,海量数据通过简单的sql就可以完成分析,有时候hive提供的函数功能满足不了业务需要,就需要我们自己来写UDF函数来辅助完成,下面用一个简单的例子说明过程,以及注意事项。

UDF函数其实就是一个简单的函数,执行过程就是在Hive转换成mapreduce程序后,执行java方法,类似于像Mapreduce执行过程中加入一个插件,方便扩展. UDF只能实现一进一出的操作,如果需要实现多进一出,则需要实现UDAF .

Hive可以允许用户编写自己定义的函数UDF,来在查询中使用

2.UDF类型

Hive中有3种UDF:
UDF:操作单个数据行,产生单个数据行;
UDAF:操作多个数据行,产生一个数据行。

UDTF:操作一个数据行,产生多个数据行一个表作为输出。

3.如何构建UDF

用户构建的UDF使用基本过程如下:

第一步:继承UDF或者UDAF或者UDTF,实现特定的方法。
第二步:将写好的类打包为jar。如CorrectResolution.jar。
第三步:进入到Hive外壳环境中,利用add jar /home/hadoop/CorrectResolution.jar注册该jar文件
第四步:为该类起一个别名,create temporary function correct_resolution as 'correct_resolution.CorrectResolution';这里注意UDF只是为这个Hive会话临时定义的。若要永
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值