DataWorks支持通过向导模式或脚本模式配置离线同步任务,您可以将分库分表数据同步至目标单表。本文以同步MySQL分库分表数据为例进行说明。
背景信息
- 分库分表要求表结构一致,因此,配置同步任务时,字段映射将按照第一张表结构进行展示。
- 支持MySQL(支持向导模式)、PolarDB(支持向导模式)、AnalyticDB(支持向导模式)、SQL Server、Oracle、PostgreSQL等类型的数据源,配置分库分表同步任务。
操作步骤
- 创建离线同步节点。
- 配置分库分表同步任务。
- 向导模式配置分库分表:单击数据来源区域的添加分库分表+,添加对应的数据源和表。完整的任务配置步骤请参见通过向导模式配置离线同步任务。
说明 仅MySQL支持通过向导模式添加分库分表,其他数据库请切换至脚本模式配置分库分表同步。
- 脚本模式配置分库分表:脚本示例如下,完整的任务配置步骤请参见通过脚本模式配置离线同步任务。
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"mysql",
"parameter":{
"envType":0,
"column":[
"id",
"name"
],
"socketTimeout":3600000,
"tableComment":"",
"connection":[ //根据分库数配置connection
{
"datasource":"datasourceName1", //分库分表的数据源1
"table":[ //分库分表的Table列表1
"tb1"
]
},
{
"datasource":"datasourceName2", //分库分表的数据源2
"table":[ //分库分表的Table列表2
"tb2",
"tb3"
]
}
],
"useSpecialSecret": true, // 各个数据源使用各自的密码
"where":"",
"splitPk":"id",
"encoding":"UTF-8"
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"odps",
"parameter":{
"partition":"pt=${bizdate}",
"truncate":true,
"datasource":"odpsname",
"envType":0,
"isSupportThreeModel":false,
"column":[
"id",
"name"
],
"emptyAsNull":false,
"tableComment":"",
"table":"t1",
"consistencyCommit":false
},
"name":"Writer",
"category":"writer"
},
{
"name":"Processor",
"stepType":null,
"category":"processor",
"copies":1,
"parameter":{
"nodes":{
},
"edges":{
},
"groups":{
},
"version":"2.0"
}
}
],
"setting":{
"executeMode":null,
"errorLimit":{
"record":""
},
"speed":{
"concurrent":2,
"throttle":false
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
- 提交并发布任务。