详情页标题前

阿里云大数据开发治理平台 DataWorksAnalyticDB for MySQL 3.0数据源-云淘科技

详情页1

AnalyticDB MySQL 3.0数据源为您提供读取和写入AnalyticDB MySQL 3.0双向通道的功能,本文为您介绍DataWorks的AnalyticDB for MySQL 3.0数据同步的能力支持情况。

使用限制

  • ADB湖仓版数据源不支持在公共资源组配置以及运行同步任务。

  • 如果ADB数据源配置的实例从数仓版切换到了湖仓版,使用该数据源运行在公共资源组上的同步任务将会失败,建议切换前,确认是否有运行在公共资源组上的同步任务,并且将其切换到独享资源组运行。

  • 离线同步支持读取视图(VIEW)

支持的字段类型

离线读

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的数组描述字段信息,默认使用所有列配置,例如[ * ]。

  • 支持列裁剪,即列可以挑选部分列进行导出。

  • 支持列换序,即列可以不按照表组织结构信息的顺序进行导出。

  • 支持常量配置,您需要按照MySQL的语法格式,例如[“id”, “`table`“, “1”, “‘bazhen.csy’”, “null”, “to_char(a + 1)”, “2.3” , “true”]

    • id为普通列名。

    • table包含保留的列名。

    • 1为整型数字常量。

    • bazhen.csy为字符串常量。

    • null为空指针。

    • to_char(a + 1)为计算字符串长度函数表达式。

    • 2.3为浮点数。

    • true为布尔值。

  • column必须显示您指定同步的列集合,不允许为空 。

splitPk

AnalyticDB for MySQL 3.0 Reader进行数据抽取时,如果指定splitPk,表示您希望使用splitPk代表的字段进行数据分片,数据同步因此会启动并发任务进行数据同步,提高数据同步的效能。

  • 推荐splitPk用户使用表主键,因为表主键通常情况下比较均匀,因此切分出来的分片也不容易出现数据热点。

  • 目前splitPk仅支持整型数据切分,不支持字符串、浮点和日期等其他类型 。如果您指定其他非支持类型,忽略splitPk功能,使用单通道进行同步。

  • 如果不填写splitPk,包括不提供splitPk或者splitPk值为空,数据同步视作使用单通道同步该表数据 。

where

筛选条件,在实际业务场景中,往往会选择当天的数据进行同步,将where条件指定为gmt_create>$bizdate

  • where条件可以有效地进行业务增量同步。如果不填写where语句,包括不提供where的key或value,数据同步均视作同步全量数据。

  • 不可以将where条件指定为limit 10,这不符合MySQL SQL 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 :当没有遇到主键/唯一性索引冲突时,数据正常写入。当主键/唯一性索引冲突时会写不进去冲突的行,以脏数据的形式体现。

  • replace :没有遇到主键/唯一性索引冲突时,与insert行为一致。冲突时会先删除原有行,再插入新行。即新行会替换原有行的所有字段。

  • update:没有遇到主键/唯一性索引冲突时,与insert行为一致。冲突时会使用新行替换原有行的所有字段(仅脚本模式支持)。

insert

column

目标表需要写入数据的字段,字段之间用英文所逗号分隔,例如"column": ["id", "name", "age"]。如果要依次写入全部列,使用*表示, 例如"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/169003.html

(0)
上一篇 2023年12月10日 上午11:35
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云ECS云服务器ModifyImageAttribute-云淘科技

    调用ModifyImageAttribute修改一份自定义镜像的名称、描述信息、状态或镜像族系。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ModifyImageA…

    阿里云服务器 2023年12月9日
  • 阿里云云原生大数据计算服务 MaxComputeUDAF和UDTF动态参数说明-云淘科技

    本文为您介绍MaxCompute的UDAF和UDTF使用Resolve注解时支持的动态参数语法。 Resolve注解语法扩展 MaxCompute的UDAF和UDTF使用Resolve注解决定函数的Signature,示例如下。这种方式的局限性在于输入参数和输出参数是固定的,无法实现方法重载。 @com.aliyun.odps.udf.annotation.…

  • 阿里云云原生大数据计算服务 MaxComputeCREATE SQL FUNCTION-云淘科技

    SQL语言定义函数作为一种用户自定义函数(UDF),弥补了MaxCompute只能用Java或Python创建UDF的不足,还扩展了UDF入参的参数类型,可支持函数类型的入参参数,提升表达业务逻辑的灵活性。SQL UDF支持永久UDF和临时UDF,本文为您介绍通过CREATE SQL FUNCTION命令创建的永久SQL UDF详情。 注意事项 使用SQL定…

  • 阿里云日志服务SLS无数据告警-云淘科技

    您可以使用无数据告警功能,用于避免采集过程中数据丢失无感知问题。 例如您创建了一个告警监控规则用于监控各个主机的CPU指标,并希望发生如下情况时,收到告警通知。 CPU使用率超过95%。 查询和分析结果中无数据。 具体配置如下所示: 查询统计:* | select promql_query_range(‘cpu_util’) from metrics lim…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS数据脱敏-云淘科技

    数据脱敏可以有效地减少敏感数据在加工、传输、使用等环节中的暴露,降低敏感数据泄露的风险,保护用户权益。本文介绍日志服务数据加工过程中常见的脱敏场景、对应的脱敏方法及示例。 背景信息 使用敏感数据包括手机号、银行卡号、邮箱、IP地址、AK、身份证号网址、订单号、字符串等场景中,您需要为敏感数据进行脱敏操作。在日志服务数据加工服务中,常见的脱敏方法有正则表达式替…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。