1、自定义函数介绍:
1.1 UDF 函数(User-Defined-Function)
- 一对一的关系,输入一个值经过函数以后输出一个值;
- 在 Hive 中继承 UDF 类,方法名称为 evaluate,返回值不能为 void,其实就是实现一个方法;
-
select a,b, my_udf(a,b) as c from table1
1.2 UDAF 聚合函数(User-Defined Aggregation Function)
- 多对一的关系,输入多个值输出一个值,通常与 groupBy 联合使用;
-
select a, b, my_udaf(c) as avg_c from table1 group by a,b
1.3 UDTF 函数(User-Defined Table-Generating Functions)
- 一对多的关系,输入一个值输出多个值(一行变为多行);
- 用户自定义生成函数,有点像 flatMap;
-
-- select explode(array) col_1 from table1 select my_udtf(array) col_1 from table1
2、SparkSQL中实现UDF函数
2.1 定义UDF:
- 先导包:
from pyspark.sq

本文介绍了SparkSQL中的自定义函数,包括UDF(一对一)、UDAF(多对一)和UDTF(一对多)的概念。详细讲解了在SparkSQL中如何定义和使用UDF,提供了两种定义方式和两种调用方式,并强调了返回数据类型的设定。此外,还提醒读者在实践时需要安装pyarrow库以避免可能的问题,并给出了综合案例作为实践指导。
最低0.47元/天 解锁文章
2279

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



