DataWorks中mongodb同步如何解析数组嵌套到maxcomputer?
在DataWorks中,MongoDB同步到MaxComputer时,如果需要解析数组嵌套,可以使用MongoDB的聚合管道功能。具体步骤如下:
orders
的集合,其中包含一个名为items
的数组字段,每个订单可以包含多个商品项。要将items
数组展开为平铺结构,可以使用以下聚合管道:[
{
"$unwind": "$items"
},
{
"$group": {
"_id": "$_id",
"item": {
"$first": "$items.item"
},
"quantity": {
"$first": "$items.quantity"
}
}
}
]
2 在DataWorks中配置MongoDB同步任务,选择要同步的集合和目标表。在目标表的定义中,设置字段映射关系,将源集合中的字段映射到目标表中的对应字段。例如,将orders
集合中的_id
、item
和quantity
字段映射到目标表的相应字段。
3 运行MongoDB同步任务,将数据从源数据库同步到目标表。在同步过程中,DataWorks会自动执行上述聚合管道操作,将数组嵌套展开为平铺结构。
在DataWorks中,MongoDB同步到MaxCompute时,如果数组嵌套的数据需要解析到MaxCompute,可以通过以下步骤实现:
MongoDB Reader数据类型:arrays、array、combine,写入ODPS预期结果 A1:MongoDB源端数据如下:
"type": "arrays",写入odps预期结果: "type": "array", "splitter": " ,"写入odps预期结果:
"type": "combine",写入odps
预期结果: {"_id":"60588dfe1cde2c1149776095","array_data": [{"iid":"11111","nname":"zzzzsan"},{"iid":"222","nname":"wwwww"}]} ---,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
在DataWorks中,将MongoDB中的数组嵌套同步到MaxCompute时,可以使用以下方法进行解析:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。