AnalyticDB for MySQL 3.0数据源为您提供读取和写入AnalyticDB for MySQL 3.0双向通道的功能,本文为您介绍DataWorks的AnalyticDB for MySQL 3.0数据同步的能力支持情况。
使用限制
ADB湖仓版数据源不支持在公共资源组配置以及运行同步任务。
如果ADB数据源配置的实例从数仓版切换到了湖仓版,使用该数据源运行在公共资源组上的同步任务将会失败,建议切换前,确认是否有运行在公共资源组上的同步任务,并且将其切换到Serverless资源组(推荐)或独享数据集成资源组运行。
离线同步支持读取视图(VIEW)表。
支持的字段类型
离线读
AnalyticDB for MySQL 3.0 Reader针对AnalyticDB for MySQL 3.0类型的转换列表,如下表所示。
类型分类 | AnalyticDB for MySQL 3.0类型 |
类型分类 | AnalyticDB for MySQL 3.0类型 |
整数类 | INT、INTEGER、TINYINT、SMALLINT和BIGINT |
浮点类 | FLOAT、DOUBLE和DECIMAL |
字符串类 | VARCHAR |
日期时间类 | DATE、DATETIME、TIMESTAMP和TIME |
布尔类 | BOOLEAN |
离线写
AnalyticDB for MySQL 3.0 Writer针对AnalyticDB for MySQL 3.0类型的转换列表,如下所示。
类型 | AnalyticDB for MySQL 3.0数据类型 |
类型 | AnalyticDB for MySQL 3.0数据类型 |
整数类 | INT、INTEGER、TINYINT、SMALLINT和BIGINT |
浮点类 | FLOAT、DOUBLE和DECIMAL |
字符串类 | VARCHAR |
日期时间类 | DATE、DATETIME、TIMESTAMP和TIME |
布尔类 | BOOLEAN |
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源,详细的配置参数解释可在配置界面查看对应参数的文案提示。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。
单表及整库实时同步任务配置指导
操作流程请参见DataStudio侧实时同步任务配置。
整库离线读、单表或整库全增量实时写等整库级别同步配置指导
操作流程请参见数据集成侧同步任务配置。
附录:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。
Reader脚本Demo
{
"type": "job",
"steps": [
{
"stepType": "analyticdb_for_mysql", //插件名。
"parameter": {
"column": [ //列名。
"id",
"value",
"table"
],
"connection": [
{
"datasource": "xxx", //数据源。
"table": [ //表名。
"xxx"
]
}
],
"where": "", //过滤条件。
"splitPk": "", //切分键。
"encoding": "UTF-8" //编码格式。
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0" //同步过程中的错误记录限制数。
},
"speed": {
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
"concurrent":1 //作业并发数。
"mbps":"12"//限流,此处1mbps = 1MB/s。
}
}
}
Reader脚本参数
参数 | 描述 | 是否必选 | 默认值 |
参数 | 描述 | 是否必选 | 默认值 |
datasource | 数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须要与添加的数据源名称保持一致。 | 是 | 无 |
table | 所选取的需要同步的表。 | 是 | 无 |
column | 所配置的表中需要同步的列名集合,使用JSON的数组描述字段信息,默认使用所有列配置,例如[ * ]。
| 是 | 无 |
splitPk | AnalyticDB for MySQL 3.0 Reader进行数据抽取时,如果指定splitPk,表示您希望使用splitPk代表的字段进行数据分片,数据同步因此会启动并发任务进行数据同步,提高数据同步的效能。
| 否 | 无 |
where | 筛选条件,在实际业务场景中,往往会选择当天的数据进行同步,将where条件指定为
| 否 | 无 |
Writer脚本Demo
{
"type": "job",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "analyticdb_for_mysql", //插件名。
"parameter": {
"postSql": [], //导入后的准备语句。
"tableType": null, //保留字段,默认空。
"datasource": "hangzhou_ads", //数据源名称。
"column": [ //同步字段。
"id",
"value"
],
"guid": null,
"writeMode": "insert", //写入模式,请参见writeMode参数说明。
"batchSize": 2048, //批量写入的大小,请参见batchSize参数说明。
"encoding": "UTF-8", //编码格式。
"table": "t5", //写入的表名。
"preSql": [] //导入前的准备语句。
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0", //配置文件格式的版本号。
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0" //错误记录数。
},
"speed": {
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
"concurrent":2, //作业并发数。
"mbps":"12"//限流,此处1mbps = 1MB/s。
}
}
}
Writer脚本参数
参数 | 描述 | 是否必选 | 默认值 |
参数 | 描述 | 是否必选 | 默认值 |
datasource | 数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须与添加的数据源名称保持一致。 | 是 | 无 |
table | 选取的需要同步的表名称。 | 是 | 无 |
writeMode | 写入数据的方式,可选择insert 、replace和update三种方式。
| 否 | insert |
column | 目标表需要写入数据的字段,字段之间用英文所逗号分隔,例如 如果字段名中包含select,请在字段名前后加上反引号。例如,item_select_no需要写为`item_select_no`。 | 是 | 无 |
preSql | 执行数据同步任务之前,需率先执行的SQL语句。目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句,例如清除旧数据。 当有多条SQL语句时,不支持事务。 | 否 | 无 |
postSql | 执行数据同步任务之后执行的SQL语句,目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句,例如加上某个时间戳。 当有多条SQL语句时,不支持事务。 | 否 | 无 |
batchSize | 一次性批量提交的记录数大小,该值可以极大减少数据同步系统与MySQL的网络交互次数,并提升整体吞吐量。如果该值设置过大,会导致数据同步运行进程OOM异常。 | 否 | 1,024 |
- 本页导读 (1)
- 使用限制
- 支持的字段类型
- 离线读
- 离线写
- 创建数据源
- 数据同步任务开发
- 单表离线同步任务配置指导
- 单表及整库实时同步任务配置指导
- 整库离线读、单表或整库全增量实时写等整库级别同步配置指导
- 附录:脚本Demo与参数说明
- 离线任务脚本配置方式
- Reader脚本Demo
- Reader脚本参数
- Writer脚本Demo
- Writer脚本参数