hive Map 字段查询全解析:从建表到复杂查询
Hive 支持 MAP 类型字段存储键值对数据(如用户成绩单、商品属性等),配合内置集合函数可高效查询和分析 Map 中的数据。本文以成绩单场景为例,详细讲解 Map 字段的建表、数据插入、常用查询及集合函数的使用,帮助开发者灵活处理键值对数据。
Map 类型表的创建与数据准备
建表语句解析
创建包含 MAP 字段的表需指定分隔符,确保 Hive 正确解析键值对结构。
建表示例
1 | CREATE TABLE test_map ( |
分隔符说明
FIELDS TERMINATED BY '\t':表中列之间的分隔符(如张三\t数学:90,英语:85中,张三和score字段用\t分隔);COLLECTION ITEMS TERMINATED BY ',':Map 中多个键值对的分隔符(如数学:90,英语:85中用,分隔);MAP KEYS TERMINATED BY ':':Map 中键(Key)和值(Value)的分隔符(如数学:90中用:分隔)。
插入测试数据
向 Map 类型表插入数据需遵循上述分隔符规则,示例数据格式:
1 | 张三 数学:90,英语:85,语文:95 |