开发者社区> 问答> 正文

Flink SQL如何解析嵌套json

已解决

Flink SQL如何解析嵌套json

展开
收起
阿里云服务支持 2022-12-16 15:42:16 591 0
2 条回答
写回答
取消 提交回答
  • 官方回答

    嵌套json想要获取指定字段,只需要在DDL中row去取对应字段的key就可以,前提是这个对应字段的key在数据中一定存在 如果对于那种某些数据中有这个key,某些数据中没有key,这种情况作业运行会报错的,这个需要自行编写udf来解析获取。

    更多详情请参见Flink如何获取JSON数据。例如JSON格式的数据,直接用JSON format解析,会被解析成一个 ARRAY<ROW< cola VARCHAR, colb VARCHAR>> 字段,就是一个 Row类型的数组,其中这个Row类型包含两个VARCHAR字段,然后通过UDTF解析。

    {

    "data":[
    
        {
    
            "cola":"test1",
    
            "colb":"test2"
    
        },
    
        {
    
            "cola":"test1",
    
            "colb":"test2"
    
        },
    
        {
    
            "cola":"test1",
    
            "colb":"test2"
    
        },
    
        {
    
            "cola":"test1",
    
            "colb":"test2"
    
        },
    
        {
    
            "cola":"test1",
    
            "colb":"test2"
    
        }
    
    ]
    

    }

    2022-12-16 15:50:28
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    如果您需要获取普通JSON数据,方法详情请参见JSON Format。 如果您需要获取嵌套的JSON数据,则源表DDL中使用ROW格式定义JSON Object,结果表DDL中定义好要获取的JSON数据对应的Key,在DML语句中设置好Key获取的方式,就可以获取到对应的嵌套Key的Value值。参考文档:https://help.aliyun.com/document_detail/174840.htm

    2022-12-16 17:21:40
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像