【发布时间】:2019-10-25 07:43:14
【问题描述】:
我正在尝试从名为 Json_table 的表中解析一个 json 列,该表具有 2 种不同类型的元素,
keyfield | json_column | SomeotherField1 | SomeotherField2
----------------------------------------------------------------
keyfield1, | {"jField1":"Value1", ..."jField10":"Value10", "MapField":[{"Key": "key1", "Value":"Keyvalue1"}, {"Key": "key2", "Value":"Keyvalue2"}] | someothervalue | someothervalue
使用 get_json_object 函数,我可以轻松访问 jField1 到 jField10 和 MapField。但我不知道如何将 MapField 解析为更多单独的列。
SELECT keyfield, get_json_object(json_column, '$.jField1') as jField1, get_json_object(json_column, '$.jField2') as jField2
FROM Json_table
我需要编写可以为我提供这样结果的查询
Select Keyfield, jField1, jField2, .. , jField10, Key1, Key2 From Json_table
result as:
keyfield1 | Value1 | ... | Value10 | Keyvalue1 | Keyvalue2
我想从“Mapfield”部分中获取所有单个元素。
【问题讨论】:
-
我在 Hive 中有这张桌子
标签: json dictionary hive