DataWorks中ODPS SQL将输出结果作为一个二维数组传递下游,怎么在下游遍历?
在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]]
然后通过上述遍历方式,就可以对每个字段进行处理。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。