zoukankan      html  css  js  c++  java
  • hive中解析json数组[转载chenzechao]

    -- 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
    ;
  • 相关阅读:
    求最大子数组02
    求最大子数组
    第3周学习进度
    四则运算3
    第2周学习进度
    构建之法阅读笔记02
    四则运算2及单元测试
    四则运算1
    第1周学习进度
    构建之法阅读笔记01
  • 原文地址:https://www.cnblogs.com/chinaboyzzy/p/12163063.html
Copyright © 2011-2022 走看看