目录
一、背景介绍
在大数据开发中,JSON格式数据广泛存在于日志、API接口和半结构化数据存储中。Hive作为Hadoop生态的核心数仓工具,原生支持通过get_json_object()函数解析JSON字段。该函数能够快速提取JSON字符串中的指定值,是处理复杂嵌套结构数据的关键工具。
二、函数详解
1. 语法与参数
get_json_object(json_string, 'json_path')
- 参数说明
| 参数 | 描述 |
|---|---|
| json_string | JSON格式的字符串字段(需为STRING类型) |
| json_path | 提取路径(支持标准JSONPath语法,如$.key或$.nested_key) |
- 返回值:STRING类型(若路径不存在返回NULL)。
2. 核心功能
| 场景 | 路径示例 | 功能说明 |
|---|---|---|
| 提取根级字段 | $.name |
获取顶层name字段的值 |
| 嵌套对象访问 | $.address.city |
提取嵌套对象中的city字段 |
| 数组索引 | $.items.price |
获取数组中第一个元素的price字段 |
| 通配符匹配 | $.sensors[*].id |
遍历数组中所有元素的id字段 |
三、实战案例
案例1:基础字段提取
数据示例(表user_log,字段log_data):
{
"user_id": "U123",
"action": "login",
"device": {
"os": "Android",

8684

被折叠的 条评论
为什么被折叠?



