自定义 UDF(User Defined Function)和 UDAF(User Defined Aggregate Function)通常是在大数据处理框架(如 Apache Hive、Apache Spark 或 Flink)中进行的。虽然不同框架的 API 略有不同,但核心思想是一致的。 以下我将以最主流的 Apache Hive(Java)和 Apache Spark(Scala/Python)为例,详细介绍如何定义和使用它们。 --- 核心概念区别 1. UDF (User Defined Function): 输入输出关系: 1 进 1 出 (One-to-One)。 场景: 字符串处理(如转大写)、数值计算、日期格式化等。 类似 SQL: , . 2. UDAF (User Defined Aggregate Function): 输入输出关系: 多 进 1 出 (Many-to-One)。 场景: 统计总和、平均值、最大值等聚合操作。 类似 SQL: , , . --- 一、Apache Hive (基于 Java) Hive 是定义 UDF/UDAF 的标准起...