机器学习之UDF/UDTF/UDAF

UDF(用户自定义标量函数)、UDTF(表值函数)和UDAF(用户自定义聚合函数)是大数据与数据库处理(如 Hive、Spark、Flink、MaxCompute)中处理不同数据维度的核心函数类型。 [1, 2, 3]
1. UDF (User-Defined Function) 标量函数
  • 特点:一进一出(输入一行,输出一行)。
  • 应用场景:对单列数据进行格式转换、数学计算或字符串处理。例如,将字符串全转为大写、计算两个日期的差值。
  • 对应内置函数:UPPER(), TRIM(), SUBSTR()。 [1, 2]
2. UDTF (User-Defined Table-Valued Function) 表值函数
  • 特点:一进多出(输入一行,输出多行或多列)。
  • 应用场景:将一行包含多个元素的字符串拆分成多行(例如分词、JSON 数组展开)。
  • 对应内置函数:EXPLODE(), LATERAL VIEW(搭配使用)。 [1, 2]
3. UDAF (User-Defined Aggregation Function) 聚合函数
  • 特点:多进一出(输入多行数据,通过分组聚合成一行)。
  • 应用场景:必须配合 GROUP BY 使用,对分组内的数据求和、求平均值或求最大/最小值。
  • 对应内置函数:SUM(), AVG(), COUNT(), MAX()
posted on 2026-07-06 10:03  duanxz  阅读(7)  评论(0)    收藏  举报