hive函数 get_json_object的使用

时间:2021-07-23 23:37:33

hive提供了json的解析函数:get_json_object

使用方法

对于jsonArray(json数组),如person表的xjson字段有数据:

[{"name":"王二狗","sex":"男","age":"25"},{"name":"李狗嗨","sex":"男","age":"47"}]

取出第一个json对象,那么hive sql为:

SELECT get_json_object(xjson,"$.[0]") FROM person;

结果是:

{"name":"王二狗","sex":"男","age":"25"}

取出第一个json的age字段的值:

SELECT get_json_object(xjson,"$.[].age") FROM person;

结果

25

总结

get_json_object(param1,"$.param2")

param1:需要解析的json字段

param2:遇到数组就用 [0,1,2...] 0,1,2是数组对应的元素,遇到jsonObject直接用 ".key"取出想要获取的value。