數據存儲字段格式如下(Json-Array互相嵌套): string='{"id":"9088848902695992720","title":"猛獁電動(共和新路旗艦店)","address":"上海市靜安區共和新路492號","category":"購物:自行車專賣","type":0,"location":{"lat":31.251923,"lng":121.463251},"adcode":"310106","province":"上海市","city":"上海市","district":"靜安區","fromSearch":1,"range":true,"name":"猛獁電動(共和新路旗艦店)","tag":false,"price":false,"description":"上海市靜安區共和新路492號","area_id":"310106","business_name":"猛獁電動(共和新路旗艦店)","latitude":31.251923,"longitude":121.463251,"poi_name":"上海市 · 猛獁電動(共和新路旗艦店)","poi_id":"9088848902695992720","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000","extra_items":[{"id":"9088848902695992720","title":"猛獁電動(共和新路旗艦店)","address":"上海市靜安區共和新路492號","category":"購物:自行車專賣","type":0,"location":{"lat":31.251923,"lng":121.463251},"adcode":"310106","province":"上海市","city":"上海市","district":"靜安區","fromSearch":1,"range":true,"name":"猛獁電動(共和新路旗艦店)","tag":false,"price":false,"description":"上海市靜安區共和新路492號","area_id":"310106","business_name":"猛獁電動(共和新路旗艦店)","latitude":31.251923,"longitude":121.463251,"poi_name":"上海市 · 猛獁電動(共和新路旗艦店)","poi_id":"9088848902695992720","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"},{"id":"1737914136852040362","title":"猛獁電動(中山南二路旗艦店)","address":"上海市徐匯區中山南二路861號","category":"購物:自行車專賣","type":0,"location":{"lat":31.184747101,"lng":121.450555437},"adcode":"310104","province":"上海市","city":"上海市","district":"徐匯區","fromSearch":1,"range":true,"name":"猛獁電動(中山南二路旗艦店)","tag":false,"price":false,"description":"上海市徐匯區中山南二路861號","area_id":"310104","business_name":"猛獁電動(中山南二路旗艦店)","latitude":31.184747,"longitude":121.450555,"poi_name":"上海市 · 猛獁電動(中山南二路旗艦店)","poi_id":"1737914136852040362","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"},{"id":"2079399087608466027","title":"猛獁電動專賣店(共江路店)","address":"上海市寶山區共江路204號","category":"購物:自行車專賣","type":0,"location":{"lat":31.331000146,"lng":121.456731092},"adcode":"310113","province":"上海市","city":"上海市","district":"寶山區","fromSearch":1,"range":true,"name":"猛獁電動專賣店(共江路店)","tag":false,"price":false,"description":"上海市寶山區共江路204號","area_id":"310113","business_name":"猛獁電動專賣店(共江路店)","latitude":31.331,"longitude":121.456731,"poi_name":"上海市 · 猛獁電動專賣店(共江路店)","poi_id":"2079399087608466027","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"}]}' select poi_name_now ,get_json_object(m, '$.poi_name') as poi_name from ( select get_json_object(string, '$.poi_name') as poi_name_now --當前門店 ,get_json_object(string, '$.extra_items') as extra_it --所有門店 from table ) LATERAL view explode(split(regexp_replace(extra_it,'^\\[|]$',''), ',(?!")')) ext_it as m group by poi_name_now,get_json_object(m, '$.poi_name')
最終展示結果:
參考鏈接:https://stackoverflow.com/questions/62512180/hive-explode-each-json-element-in-json-array-to-rows