hive函数全解析:从内置函数到自定义函数的实战指南
Hive 提供了丰富的函数库,包括内置函数(UDF、UDAF、UDTF)和自定义函数,满足数据清洗、转换、聚合等复杂分析需求。本文详细讲解 Hive 函数的分类、常用内置函数(尤其是窗口函数)的用法,以及自定义函数的开发流程,帮助开发者高效处理数据。
Hive 函数基础与分类
Hive 函数按输入输出关系可分为三类,覆盖不同的数据处理场景:
函数分类
| 类型 | 全称 | 作用 | 示例 |
|---|---|---|---|
| UDF | User-Defined Function | 一进一出(单条记录输入,单条结果输出) | concat()、nvl() |
| UDAF | User-Defined Aggregate Function | 多进一出(多条记录输入,单条聚合结果输出) | sum()、avg()、collect_set() |
| UDTF | User-Defined Table-Generating Function | 一进多出(单条记录输入,多条结果输出) | explode()、split() |
函数查询与帮助
查看所有内置函数:
1
hive> show functions; -- 列出所有可用函数
查看函数用法:
1
2
3
4-- 基础说明
hive> desc function concat;
-- 详细说明(含示例)
hive> desc function extended concat;模糊查询函数:
1
hive> desc function like '*date*'; -- 查找含“date”的函数
常用内置函数详解
数据清洗与转换函数
空值处理:nvl
为 NULL 值赋默认值,避免计算异常。