业务场景中Hive解析Json常用案例

 

json在线工具

工具提供了各种跨格式转化

根据json串自动生成生成 Java 类等功能也非常实用

 

示例准备

需要Hive环境

json_column 字段用来存储需要处理的 json 串

 

示例 1: 提取单个字段

假设 JSON 数据包含用户信息

使用 get_json_object 函数从 JSON 中提取字段:

 

示例 2: 提取嵌套字段

在 JSON 数据中有嵌套字段的情况下:

提取嵌套字段的值:

 

示例 3: 提取数组中的值

假设 JSON 数据包含一个数组:

从数组中提取值:

 

示例 4: 提取数组列表长度

获取数组的长度:

 

示例 5:业务场景-解析公司基本信息案例

 

示例 6: 使用 LATERAL VIEW 解析数组

使用 LATERAL VIEWexplode 解析 JSON 数组:

 

示例 7: 提取数组对象的值

如果数组包含对象,则提取对象的值:

 

 

示例 8: 处理日期

处理 JSON 中的日期字段:

 

 

示例 9: 提取布尔值

提取 JSON 中的布尔字段:

 

 

示例 10: json_tuple计算 JSON 对象数量

计算 JSON 对象中包含的键值对数量:

 

示例 11: 使用 json_tuple 提取值

从 JSON 对象中使用 json_tuple 提取多个字段:

 

 

示例 12: 提取数字字段

从 JSON 中提取数字字段:

 

 

示例 13: 使用 get_json_object 过滤数据

根据 JSON 中的字段值进行过滤:

 

示例 14: 处理空值

处理 JSON 数据中可能的空值:

 

 

示例 15: 使用 get_json_object 判断是否存在字段

判断 JSON 是否包含特定字段:

 

示例 16: 提取多层嵌套对象的值

从多层嵌套的 JSON 对象中提取值:

 

 

示例 17: 提取嵌套对象数组的值

从嵌套的对象数组中提取值:

 

 

示例 18: 提取数组对象的多个值

取数组对象的多个值

从数组对象中提取多个值:

 

 

示例19: json_serde解析映射数据文件的使用介绍

如果现在有一个json文件:

[app@ali-wangting wangt]$ cat wangt.json

现在希望建立一张表,使得表可以直接映射上数据文件

可以看到数据文件8行记录,成功映射对应了hive中wangt_666_json表的8条数据