zoukankan      html  css  js  c++  java
  • MaxCompute将json数组拆分成多行

    select
         GET_JSON_OBJECT(name_tmp,'$.val')      as val
        ,GET_JSON_OBJECT(name_tmp,'$.area')     as area
        ,GET_JSON_OBJECT(name_tmp,'$.setVal')   as setVal
        ,GET_JSON_OBJECT(name_tmp,'$.isExceed') as isExceed
    from (
        -- 删除前后的中括号并修改分隔符
        select 
            regexp_replace(regexp_replace(regexp_replace(json_str,'^\[',''),'\]$',''),'},\{','}|{') as json_str1
        from (
            select '[{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":7,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":7,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":1,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":7,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":6,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":6,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""}]' as json_str
        ) t1
    ) t2
    lateral view explode(split(json_str1,'\|')) b AS name_tmp
    ;
    
    +------------+------------+------------+------------+
    | val        | area       | setval     | isexceed   | 
    +------------+------------+------------+------------+
    | 5          | 测区1        |            | false      | 
    | 7          | 测区1        |            | false      | 
    | 7          | 测区1        |            | false      | 
    | 1          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 7          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 6          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 6          | 测区1        |            | false      | 
    +------------+------------+------------+------------+
  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/chenzechao/p/12915747.html
Copyright © 2011-2022 走看看