1.背景介绍
业务中经常会遇到解析json字段的情况,毕竟json是大家使用最广泛的对象传递数据结构。
2.工具
hive内置函数:
函数 | 功能 |
---|---|
get_json_object() | 解析json对象 单个key |
json_tuple() | 解析json对象 批量key |
3.实战
3.1 get_json_object()
SELECT GET_JSON_OBJECT('{"key1": "v1", "key2": null, "key3": 3}', '$.key1');
SELECT GET_JSON_OBJECT('{"key1": "v1", "key2": null, "key3": 3}', '$.key2');
SELECT GET_JSON_OBJECT('{"key1": "v1", "key2": null, "key3": 3}', '$.key3');
3.2 json_tuple
SELECT t1.*
FROM table_demo
lateral view json_tuple('{"key1": "v1", "key2": null, "key3": 3}', 'key1', 'key2', 'key3') t1 as key1, key2, key3
limit 3;
4.总结
解析单个key用GET_JSON_OBJECT()函数,批量解析多个key用json_tuple()函数。