Hive 基本教程

Hive SQL

Hive 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/hive-sql-get_json_object-function.html

Hive SQL json 解析函数 get_json_object 详解

Hive SQL 内置函数全解 Hive SQL 内置函数全解


Hive SQL JSON 字符串函数 GET_JSON_OBJECT 是用于解析 json 字符串,支持多层嵌套的 json 形式的解析,主要是为了获取 json 字符串中内部指定 key 的相关信息。

语法说明

语法

GET_JSON_OBJECT(string json_string, string path)

说明

其中 json_string 为要解析的字符串,path 为要获取的 json 中获取的 key;如果指定的 json_string 为非法,则返回 null。

需要注意的是,第二个参数使用 $ 表示 json 变量标识,然后用 .[] 读取对象或数组。

常用例子

假设有解析如下 json 数据,并获取相应的内容:

{"store":
  {"fruit":\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],
   "bicycle":{"price":19.95,"color":"red"}
  },
 "email":"amy@only_for_json_udf_test.net",
 "owner":"amy"
}

获取 json 最外层 key

获取最外层的 owner 信息,示例如下:

hive> SELECT get_json_object(src_json.json, '$.owner') FROM src_json;
amy

获取 json 内嵌的 key

获取 store 对象的 bicycle 对象的 price 的信息,示例如下:

hive> SELECT get_json_object(src_json.json, '$.store.bicycle.price') FROM src_json;
19.95

获取 json 的数组对象的索引信息

获取 store 对象的 fruit 数组的第一个信息,示例如下:

hive> SELECT get_json_object(src_json.json, '$.store.fruit\[0]') FROM src_json;
{"weight":8,"type":"apple"}

指定不存在的 key 时

若指定不存在的 key 时,返回 NULL,示例如下:

hive> SELECT get_json_object(src_json.json, '$.non_exist_key') FROM src_json;
NULL

 

Hive SQL 中将字符串转成 MAP 格式(也可以当成 JSON)的函数是 STR_TO_MAP,它使用两个分隔符将文本拆分为键值对(K ...
在Java中,解析JSON数据有多种方式,可以使用标准库,也可以借助第三方库来简化操作。示例代码:Maven依赖:###使用Jackson库 ...
在Java中解析JSON字符串有多种方式,以下是常用的几种实现方式,以及每种方式的步骤流程、示例代码和依赖坐标。json库这是一个简单的JS ...
Hive SQL 提供了数据分组后去重聚合函数 COLLECT_SET,它可以将分组数据排成列表并组内去重,由于其是聚合函数需要和 GROU ...
Hive SQL 条件函数 IF 是用于处理单个列的判断查询结果,形式为 if(条件表达式, 结果1, 结果2),相当于 java 中的三目 ...