presto sql json解析
时间: 2023-10-10 20:14:50 浏览: 202
presto sql中有几种方法可以解析JSON并获取字段值。其中常用的方法有get_json_object、json_extract_scalar和unnest等。这些方法可以根据JSON表达式提取JSON中的特定字段值。
例如,使用get_json_object方法可以通过指定JSON表达式来提取字段值。示例SQL语句如下:
SELECT get_json_object(str_json, '$.id') AS sid
FROM (
SELECT event_param_json, split(regexp_replace(regexp_extract(event_param_json, '(\\[)(.*?)(\\])', 2), '\\},\\{', '\\}#\\{'), '\\#') AS json_list
FROM abm.abm_wireless_exposure_log
WHERE dt = '2020-09-06'
AND event_id = 'ProExpo'
AND event_param_json LIKE '%ass%'
) a lateral VIEW explode(json_list) list_tab AS str_json
另外,可以使用json_extract_scalar方法来解析JSON并获取字段值。示例SQL语句如下:
SELECT str_json, json_extract_scalar(str_json, '$.id') AS sid
FROM (
SELECT event_param_json
FROM abm.abm_wireless_exposure_log
WHERE dt = '2020-09-06'
AND event_id = 'NecProExpo'
AND event_param_json LIKE '%ass%'
) CROSS JOIN unnest(SPLIT(REPLACE(REPLACE(REPLACE(event_param_json, '[', ''), ']', ''), '},{', '}#{'), '#')) AS t(str_json)
以上是在presto sql中解析JSON并获取字段值的两种常用方法。具体方法的选择取决于你的需求和数据结构。
你还有其他
阅读全文