mongodb源端原始数据如下(数据无实际场景):
- 同步一层子属性
例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钉钉交流群】