在 Hive 中,可以编写和使用不同类型的自定义函数,包括 UDF(User-Defined Functions)、UDAF(User-Defined Aggregate Functions)和 UDTF(User-Defined Table Functions)。这些自定义函数允许你扩展 Hive 的功能,以执行自定义的数据处理操作。
-
UDF(User-Defined Functions):
- 用途:UDF 用于处理一行数据并返回一个标量值(单个值),这个值可以是字符串、数字、日期等。UDF 通常用于在查询中对每一行数据进行自定义的计算或转换。
- 示例:计算日期之间的差异、字符串处理、数据格式化等。
-
UDAF(User-Defined Aggregate Functions):
- 用途:UDAF 用于执行自定义的聚合操作,如 SUM、AVG、COUNT 等。UDAF 允许你在查询中汇总数据并生成一个单一的聚合结果。
- 示例:计算平均值、累计总和、计数等。
-
UDTF(User-Defined Table Functions):
- 用途:UDTF 用于处理一行或多行数据,并生成一个表格作为输出。UDTF 允许你在查询中生成表格化数据,这个表格可以包含零行、单行或多行数据。
- 示例:拆分字符串、将数组展开为多行记录、解析复杂的 JSON 数据等。