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 .两边关联 就可以得到最终结果.


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

  • 相关阅读:
    5917
    安装wdcp后,反向代理全过程
    今天 想了个问题,阿里旺旺及时消息
    5917全部电影 我反代了一个站
    曾经4000多IP的站,被百度K了
    asp.net 出现Operation is not valid due to the current state of the object.
    自然语言处理 |文本相似度计算与文本匹配问题
    Node.js v16.13.0 连接MySQL数据库8.0.27失败问题
    NLP自然语言处理 | Prolog 语言入门教程:
    NLP自然语言处理 | TFIDF与余弦相似性的应用(二):找出相似文章
  • 原文地址:https://www.cnblogs.com/TendToBigData/p/10501179.html
Copyright © 2011-2022 走看看