AnalyticDB MySQL 3.0数据源为您提供读取和写入AnalyticDB MySQL 3.0双向通道的功能,本文为您介绍DataWorks的AnalyticDB for MySQL 3.0数据同步的能力支持情况。
使用限制
支持的字段类型
离线读
AnalyticDB for MySQL 3.0 Reader针对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数据类型 |
整数类 |
INT、INTEGER、TINYINT、SMALLINT和BIGINT |
浮点类 |
FLOAT、DOUBLE和DECIMAL |
字符串类 |
VARCHAR |
日期时间类 |
DATE、DATETIME、TIMESTAMP和TIME |
布尔类 |
BOOLEAN |
数据同步任务开发
MaxCompute数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建与管理数据源。
单表离线同步任务配置指导
-
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
-
脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。
单表及整库实时同步任务配置指导
操作流程请参见DataStudio侧实时同步任务配置。
整库离线读、单表或整库全增量实时写等整库级别同步配置指导
操作流程请参见数据集成侧同步任务配置。
附录:脚本Demo与参数说明
附录:离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中的reader参数和writer参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Reader参数和Writer参数的指导详情。
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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/171441.html