首页 > 编程语言 > 详细

hive中解析json数组[转载chenzechao]

时间:2020-01-07 19:37:54      阅读:1356      评论:0      收藏:0      [点我收藏+]
-- hive中解析json数组
select
     t1.status
    ,substr(ss.col,1,10) as col
    ,t3.evcId
    ,t3.evcLicense
    ,t3.evcAddress
    ,t3.modelName
from (
    select 
         get_json_object(json,"$.status") as status
        ,split(
            regexp_replace(
                regexp_extract(
                    get_json_object(json,"$.data") -- 获取data数组,格式[{json},{json}]
                    ,^\\[(.+)\\]$
                    ,1
                ) -- 删除字符串前后的[],格式{json},{json}
                ,\\}\\,\\{
                , \\}\\|\\|\\{
            ) -- 将josn字符串中的分隔符代换成||,格式{json}||{json}
            ,\\|\\|
        ) as str -- 按||分隔符切割成一个hive数组
    from tmp_json_test
) t1
lateral view explode(t1.str) ss as col -- 将hive数组转成行
lateral view json_tuple(ss.col,evcId,evcLicense,evcAddress,modelName) t3 as evcId,evcLicense,evcAddress,modelName
;

 

hive中解析json数组[转载chenzechao]

原文:https://www.cnblogs.com/chinaboyzzy/p/12163063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!