文档

通过数据同步功能同步PolarDB MySQL至湖仓版

更新时间:

AnalyticDB for MySQL湖仓版(3.0)支持通过同步链路实时同步Polardb MySQL中的数据入湖,以支持近实时产出、全量历史归档、弹性分析等需求。AnalyticDB for MySQL湖仓版(3.0)实时入湖支持全量迁移源库中的历史数据,并实时同步增量数据。本文主要介绍如何通过数据同步功能将Polardb MySQL数据同步至湖仓版(3.0)

使用限制

  • 仅华东1(杭州)和华南1(深圳)地域支持数据同步功能。

  • 数据同步功能灰度发布,若需使用该功能,请提交工单联系技术支持。

前提条件

注意事项

数据同步功能会使用Serverless资源组,并产生费用,Serverless资源组计费规则和Job型资源组相同。详情请参见湖仓版(3.0)计费项

使用流程

步骤一:新建数据源

步骤二:新建同步链路

步骤三:启动数据同步任务

步骤四:数据分析

步骤五:管理数据同步任务与数据源

新建数据源

说明

如果您已添加过PolarDB MySQL数据源,可跳过该步骤,直接新建同步链路,详情请参见新建同步链路

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在湖仓版(3.0)页签,单击目标集群ID。

  2. 在左侧导航栏,单击数据接入>数据源管理

  3. 单击右上角新建数据源

  4. 新建数据源页面进行参数配置。参数说明如下表所示:

    参数名称

    参数说明

    数据源类型

    选择数据源类型PolarDB MySQL

    数据源名称

    系统默认按数据源类型与当前时间生成名称,可按需修改。

    数据源描述

    数据源备注描述,例如湖仓应用场景、应用业务限制等。

    部署模式

    目前仅支持阿里云实例

    实例

    选择需要同步数据的PolarDB MySQL实例。

    实例用户名

    数据同步任务使用的PolarDB MySQL数据库账号。为了确保任务正常运行,该账号需具备SELECTSHOW DATABASESREPLICATION SLAVEREPLICATION CLIENT权限。

    实例密码

    PolarDB MySQL数据库账号的密码。

新建同步链路

  1. 在左侧导航栏,单击数据同步。在页面右上角,单击新建同步链路

    说明

    您可以直接单击对应数据源操作列的新建链路>新建同步链路,快捷跳转到此数据源对应的新建同步链路页面。

  2. 新建同步链路页面,进行数据源的数据源及目标端配置同步库表配置目标库表配置同步配置

    • 数据源及目标端配置的参数说明如下:

      参数名称

      参数说明

      数据链路名称

      数据链路名称。系统默认按数据源类型与当前时间生成名称,可按需修改。

      数据源

      选择已有的PolarDB MySQL数据源,也可新建数据源。

      目标端类型

      目前仅支持数据湖-OSS存储

      OSS路径

      AnalyticDB MySQL湖仓数据在OSS中的存储路径。

      重要
      • 展示的Bucket是与AnalyticDB MySQL集群同地域的所有Bucket,您可以任意选择其中一个。请谨慎规划存储路径,创建后不允许修改。

      • 建议选择一个空目录,且不能与其他任务的OSS路径有相互前缀关系,防止数据覆盖。例如,两个数据同步任务的OSS路径分别为oss://testBucketName/test/sls1/oss://testBucketName/test/,OSS路径有相互前缀关系,数据同步过程中会有数据覆盖。

    • 同步库表配置参数说明如下:

      参数名称

      参数说明

      同步库表白名单

      需要同步的库表名,多个库表之间以英文逗号(,)分隔。格式为数据库1.数据表1,数据库2.数据表2,可以用*模糊匹配库表,例如:db1.*表示数据库db1中所有的表都同步。

      如果不存在同名数据库,将新建库;如果已存在同名数据库,数据会同步到已存在的数据库中。命名规则,详见使用限制

      同步库表黑名单

      不同步的库表名,多个库表之间以英文逗号(,)分隔。格式为数据库1.数据表1,数据库2.数据表2,可以用*模糊匹配库表,例如:db1.*表示数据库db1中所有的表都不同步。

      重要

      若某个库表同时在白名单和黑名单中,则按黑名单处理,不会同步到AnalyticDB MySQL中。例如:白名单中需要同步的库表为db1.tb1,db2.tb2,黑名单中不同步的库表为db1.*,按照黑名单规则处理,表tb1不会被同步。

      需同步的DML操作

      勾选希望同步的DML操作,未被选中的操作会忽略。

      需同步的DDL操作

      勾选希望同步的DDL操作,未被选中的操作会忽略。

      库名加前缀(可选)

      配置后所有需同步的数据库在AnalyticDB MySQL的名称会新增该前缀。

    • 目标库表配置的参数说明如下:

      参数名称

      参数说明

      目标端已存在同名库/表的处理

      • 报错拦截:整个任务暂停,也不再继续同步其他库表,若暂停时间过长源端Binlog已经清理的情况下,有数据丢失的风险。

      • 跳过该库/表(不同步):只跳过与此同名的库表,其他库表仍继续同步。

      目标端生成配置参数

      展示PolarDB MySQL中的库名、表名和AnalyticDB MySQL中的库名、表名及主键信息。您可以自定义目标表的主键,若不设置,则默认以源表定义为准。

    • 同步配置的参数说明如下:

      参数名称

      参数说明

      全量同步所需ACU数

      指定任务在全量迁移阶段运行可以使用的Serverless资源组ACU数,最小2 ACU,最大200 ACU。

      增量同步所需ACU数

      指定任务在增量同步阶段运行可以使用的Serverless资源组ACU数,最小2ACU,最大200 ACU。

      高级配置

      高级配置可以让您对湖仓任务进行个性化的配置。如需进行个性化配置,请联系技术支持。

      说明

      Serverless资源组在创建湖仓版(3.0)集群时自动创建,您无需在控制台创建资源组。数据同步作业使用Serverless资源组,并产生费用,Serverless资源组计费规则和Job型资源组相同。详情请参见湖仓版(3.0)计费项

  3. 上述参数配置完成后,单击提交

启动数据同步任务

  1. 数据同步页面,选择创建成功的数据同步任务,在操作列单击启动

  2. 单击右上角查询,状态变为正在运行即数据同步任务启动成功。

数据分析

同步任务成功后,您可以通过Spark Jar、Spark SQL或XIHE SQL三种方法对同步到AnalyticDB MySQL的数据进行分析。本文以Spark Jar开发为例,介绍数据分析的具体流程。Spark开发的相关操作,请参见Spark开发编辑器Spark应用配置参数说明

    1. 在左侧导航栏,单击作业开发 > Spark Jar 开发

    2. 在默认模板中输入示例语句,并单击立即执行

      -- Here is just an example of SparkSQL. Modify the content and run your spark program.
      
      conf spark.driver.resourceSpec=medium;
      conf spark.executor.instances=2;
      conf spark.executor.resourceSpec=medium;
      conf spark.app.name=Spark SQL Test;
      conf spark.adb.connectors=oss;
      
      -- Here are your sql statements
      show tables from lakehouse20220413156_adbTest;
    3. 可选:应用列表页签中,单击操作列的日志,查看Spark SQL运行的日志。

管理数据同步任务与数据源

管理数据同步任务

数据同步页面中,您可以在操作列执行以下操作。

操作按钮

说明

启动

启动数据同步任务。

执行详情

查看同步任务链路的详细配置、运行日志、监控信息。

编辑

修改任务配置属性等。

暂停

停止当前同步任务。

删除

删除当前同步任务。

管理数据源

数据源管理页面,您可以在操作列执行以下操作。

操作按钮

说明

新建链路

快捷跳转到创建此数据源下的数据同步或数据迁移任务。

查看

查看数据源的详细配置。

编辑

编辑数据源属性,如更新数据源名称、描述等。

删除

删除当前数据源。

说明

当数据源下存在数据同步或数据迁移任务时,此数据源无法直接删除,需先在数据同步页面,单击目标同步任务操作列的删除,删除数据同步或数据迁移任务。

相关文档

数据同步功能会将Polardb MySQL数据同步至AnalyticDB for MySQL的外表中,若您想将数据同步至AnalyticDB for MySQL的内表,请参考以下文档完成同步操作:

  • 本页导读 (1)
文档反馈