开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks中ODPS SQL将输出结果作为一个二维数组传递下游,怎么在下游遍历?

DataWorks中ODPS SQL将输出结果作为一个二维数组传递下游,怎么在下游遍历?

展开
收起
真的很搞笑 2023-08-08 16:25:27 124 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在DataWorks中,如果ODPS SQL的输出结果是一个二维数组,在下游流可以这样遍历:

    js
    Copy
    function(input) {
    for (var i = 0; i < input.length; i++) {
    var row = input[i];
    for (var j = 0; j < row.length; j++) {
    var column = row[j];
    // 对每个列进行处理
    }
    }
    return output;
    }
    主要步骤是:

    通过input.length获取外层数组(代表行)的长度

    使用for循环遍历外层数组

    调用input[i]获取每一行数据,它是一个一维数组(代表这一行的各个列)

    再通过row.length获取这一行的列数

    内层for循环遍历这一行的各个列,调用row[j]获取每一列的值

    可以对每一列进行相应的业务逻辑处理

    返回处理后的结果输出

    示例ODPS SQL:

    sql
    Copy
    select id, name, age from user
    上述SQL的输出结果是一个二维数组:

    json
    Copy
    [[1,"John", 25],
    [2, "Lily", 28],
    [3, "Tom", 35]]
    然后通过上述遍历方式,就可以对每个字段进行处理。

    2023-08-09 14:19:45
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载