开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

大数据计算MaxCompute函数 我想获取的结果是这样的,应该怎么写这个SQL喃?

问题1:咨询一个大数据计算MaxCompute函数(get_json_object)问题,有这样一个json {"a":[{"t":[{"Debit":1},{"Debit":2}],"c":"aa"},{"t":[{"Debit":3},{"Debit":4}],"c":"bb"}]} 我想获取的结果是这样的3bb194498733c3930460987d645c001f.png
应该怎么写这个SQL喃?b0a7d25b7b79f669f98c07f043007c9c.png
json的层级如上
问题2:是这样的,里面的这个层级是不确定的,我看了你们的文档,好像没有关于这个一对多的多层级取数,所以才来咨询下a86ade21d71565999609215d0337411d.png

展开
收起
真的很搞笑 2023-08-08 20:31:40 120 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    假设您想要获取每个 "t" 数组中的所有 "Debit" 值,并将它们作为一个列表返回,可以使用 MaxCompute 函数 get_json_object 结合其他函数来实现。

    2023-08-13 20:21:59
    赞同 展开评论 打赏
  • 回答1:试一下这样1. 用GET_JSON_OBJECT获取到a,的值,变成json数组2. 获取json数组里的值:string类型的话,replace把两边的[] 替换成空,再用split切分json,再用get json object也可以这样直接获取数组里的下标为0的数值e7760488ac44643e41aa98d87406bdeb.png
    关于json数据类型的一些用法,可以参考下这个文档
    https://help.aliyun.com/zh/maxcompute/user-guide/maxcompute-json-type-usage-guide-trial-beta-version?spm=a2c4g.11186623.0.i109#b7b6afe014q9i
    回答2:如果每一条数据的层级都不确定,需要自建udf实现一下逻辑了。

    层级确定的话,可以用上述函数逐层获取一下看看,此回答整理自钉群“MaxCompute开发者社区2群”

    2023-08-09 12:52:03
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    SQL Server在电子商务中的应用与实践 立即下载
    GeoMesa on Spark SQL 立即下载
    原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载