立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

Hive UDF,UDAF,UDTF如何系统了解及使用

已有 956 次阅读2019-7-6 09:12 |系统分类:Hive


Hive UDF,UDAF,UDTF这个知识点并不大,所以一篇文章足够了,如果想系统的学习,我们弄明白下面四个问题足够了:
一、它是什么?
二、为何产生?
三、它的作用?
四、如何使用

————————————————
这里我们回答前三个问题:
一、它是什么?
1、UDF函数:用户定义函数
2、UDAF函数:用户定义聚集函数
3、UDTF函数:用户定义表生成函数
————————————————
二、为何产生?
它们的作用可以让Hive更加的强大和灵活,使用起来更加的方便,可以让用户根据需求实现功能.
————————————————

三、它的作用?

1、UDF函数(用户定义函数):
解释
(1)可以直接应用于select语句,对查询结构做格式化处理后,再输出内容。
(2)作用于单个数据行,并且产生一个数据行作为输出。大多数函数都属于这一类(比如数学函数和字符串函数)。

2、UDAF(用户定义聚集函数):
解释
(1)Hive查询数据时,有些聚类函数在HQL没有自带,需要用户自定义实现。
(2)接受多个输入数据行,并产生一个输出数据行。像COUNT和MAX这样的函数就是聚集函数。

3.UDTF(用户定义表生成函数) 
解释
(1)用来解决 输入一行输出多行(On-to-many maping) 的需求。
(2)作用于单个数据行,并且产生多个数据行-------一个表作为输出。

对于上面这里再做简练总结:
UDF(User-Defined-Function) 一进一出

UDAF(User- Defined Aggregation Funcation) 聚集函数,多进一出。Count/max/min

UDTF(User-Defined Table-Generating Functions)  一进多出,如lateral view explore()

使用方式 :在HIVE会话中add 自定义函数的jar文件,然后创建function继而使用函数

————————————————
第四个问题,如何使用可参考下面视频及代码:

hive udf系统视频【5集】
链接: https://pan.baidu.com/s/1qFsFpfWboLzVVr7Ne-wcNg 提取码: p2qn 


开发自定义UDAF聚合函数之group_concat_distinct()
链接: https://pan.baidu.com/s/1Dm15fZujqYyINM1d-9WN1A 提取码: hjkf 
————————————————
参考代码:
链接: https://pan.baidu.com/s/1DwkcVo0jZpZ8Hmiyd5YHKQ 提取码: dv17 

链接: https://pan.baidu.com/s/1VWNa5cr3fTN13c4Z1KeiKA 提取码: uwia
————————————————
ppt:
UDF和UDAF开发
链接: https://pan.baidu.com/s/1yZ4UkXgR3Vne4qr4vju3RA 提取码: xv6c 

————————————————
如果喜欢文章,可以参考下面:

http://www.aboutyun.com/forum.php?mod=viewthread&tid=15168

http://www.aboutyun.com/forum.php?mod=viewthread&tid=13013

http://www.aboutyun.com/forum.php?mod=viewthread&tid=13820

http://www.aboutyun.com/forum.php?mod=viewthread&tid=7310

http://www.aboutyun.com/forum.php?mod=viewthread&tid=11245

http://www.aboutyun.com/forum.php?mod=viewthread&tid=7685

http://www.aboutyun.com/forum.php?mod=viewthread&tid=1543

来自知识星球,更多了解:
About云:知识星球
http://www.aboutyun.com/forum.php?mod=viewthread&tid=26737
 

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条