DataWorks百问百答64:数据集成如何同步Mongodb不同数据类型?-阿里云开发者社区

开发者社区> DataWorks> 正文

DataWorks百问百答64:数据集成如何同步Mongodb不同数据类型?

简介: 数据集成同步Mongodb不同数据类型

mongodb源端原始数据如下(数据无实际场景):
dataworks64-1.png

  • 同步一层子属性

例1:同步id:
{
"name": "id",
"type": "string"
}
例2:同步services:
{
"name": "services",
"type": "object"
},

  • 同步复杂类型的子属性:

同步services下的子属性optional:
{
"name": "services.optional",
"type": "document.string"
},
注意:array类型无法取到array下的具体数据,需要作为整体同步
          type值需要小写。

  • 多个字段合并成一个json串:

使用MongoDBReader插件读出数据时,支持将MongoDB里document中多个字段合并成一个json串;
举例来说将Mongo中的字段导入到ODPS,有字段如下(下文均省略了value使用key来代替整个字段)的三个document,其中 a b 是所有doc均有的公共字段, x_n是不固定字段:
   doc1:a b x_1 x_2
   doc2:  a b x_2 x_3 x_4
   doc3:  a b x_5
需要一一对应的字段在配置文件里明确指出,需要合并的字段则需另取名称(不可与document中已存在字段同名),并指定类型为 "combine" ,如:
"column": [
{
 "name": "a",
 "type": "string",
},
{
  "name": "b",
  "type": "string",
},
{
    "name": "doc",
"type": "combine",
 }
]
最终导出到ODPS效果为:

odps_column1 odps_column2 odps_column3
a b {x_1,x_2}
a b {x_1,x_2,x_3}
a b {x_5}

DataWorks百问百答历史记录 请点击这里查看>>

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
DataWorks
使用钉钉扫一扫加入圈子
+ 订阅

DataWorks作为飞天大数据平台操作系统,对接各种大数据计算引擎,以all in one box的方式提供专业高效、安全可靠的全域智能大数据平台,高效率完成数据全链路研发流程,建设企业数据治理体系。 从2009年飞天大数据平台写下第一行代码开始,DataWorks历经10年发展,形成一套成熟的产品功能体系,满足企业数据中台搭建需求。

官方博客
DataWorks产品官网