hive get_json_object 解析

每天一点点,记录工作中实操可行

hive中有个json数据长这样
{“orderId”:“2114168344498220156”,“rateId”:“48417819”,“shopId”:“162482101”,“tagList”:[],“tags”:""}

想从中解析出orderid

select get_json_object(rate_tag,'$.orderId') order_id
from table_name

可以得到结果
语法:get_json_object(param1,"$.param2")

param1:需要解析的json字段

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

如:

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

1:取第一个json对象:

注意:第一个对象的下标是0哦~~~

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

结果:

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

2:取第一个json对象中的name字段:

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

结果:

王二狗

你可能感兴趣的:(hive,解析,get_json_object)