zoukankan      html  css  js  c++  java
  • Hive 解析 json,json array

    在大数据处理中经常遇到业务端发送json 数据到 table 里 的情况 ,这个需要数据开发工程师能够准备对json string 进行解析 ,并重新定义新表的结构 。
    在网络上看到很多网友提到 get_json_object ,json_tuple 的使用和案例 ,结合 替换和分组函数可以比较容易的对json 数据完成解析 。

    不久前我们遇到一个json 类似 格式如下 :

    {
       home_id : 10000 ,
       person:[
       {
        1p:0001,
        1name:dddd
        expandInfo:[
            {
            1p:0001,
            age:18,
            desc:'love boy',
            reas:ssss,
            salary: 10
            },
            {
            1p:0001,
            age:28,
            desc:'love girl',
            reas:ssss,
            salary: 10
            }
        ]
       },
       {
        2p:0002,
        2name:dddd
        expandInfo:[
            {
            2p:0002,
            age:18,
            desc:'love boy',
            reas:ssss,
            salary: 1
            },
            {
            2p:0002,
            age:28,
            desc:'love girl',
            reas:ssss,
            salary: 10
            }
        ]
       },
       {
        3p:0003,
        3name:xxxx
        expandInfo:[
            {
            3p:0003,
            age:18,
            desc:'love boy',
            reas:ssss,
            salary: 0
            },
            {
            3p:0003,
            age:28,
            desc:'love girl',
            reas:ssss,
            salary: 10
            }
        ]
        }
       ]

    }

    上面数据的基本解析 一个家庭有三个人且每个人都记录了不同年龄段的薪资 ,那么组合后应该有六条数据

    网络上的提供的解决方案是按照  },{  划分,对当前这个数据显然是无能为力的 。

    现在的解决方案是 :

    单独把 expandInfo 区块拿出来 使用上面的解析方法,并把结果保存到 一个单独的表中 t1
    同时 把 expandInfo 区块 从原数据区中使用replace方法 替换掉 ,再使用上面的方法解析 ,结果保存到 t2

    因为 t1 t2 都有相对明确的主外键关系  1p,2p,3p 代表唯一id .两边关联 就可以得到最终结果.


    ---------------------------------------------------------------------------------
    我是秉寒,为了财务自由,让我们加倍努力工作,学习,积极健康的生活,做好财富管理和投资

  • 相关阅读:
    前段性能----详细渲染过程
    前段性能----repaint和reflow
    前段性能----缓存机制
    前段性能----带宽与延迟
    前端性能----从输入URL开始到返回数据的中间经历过程
    前端性能----TCP协议
    前端性能----CDN
    前端性能优化-学习链接,待持续更新
    前端性能----图像优化(图片)
    前端性能----静态资源,资源压缩
  • 原文地址:https://www.cnblogs.com/TendToBigData/p/10501179.html
Copyright © 2011-2022 走看看