MySQL整库离线同步至StarRocks

本文以MySQL离线同步写入StarRocks场景为例,为您介绍如何一次性把MySQL整个数据库的数据离线同步至StarRocks。

前提条件

操作步骤

步骤一:选择同步任务类型

  1. 进入数据集成页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在左侧导航栏单击同步任务,然后在创建同步任务区域,配置来源MySQL去向StarRocks,点击开始创建。进入新建同步任务页面。

    • 任务名称:自定义同步任务名称。

    • 同步类型:选择整库离线

步骤二:配置网络连通

  1. 网络与资源配置区域,数据来源选择已添加的MySQL数据源,数据去向选择已添加的StarRocks数据源,选择同步资源组后,单击测试所有连通性,测试资源组与数据源的连通性。

    image

  2. 单击下一步

步骤三:选择要同步的表

此步骤中,您可以在源端库表区域选择源端数据源下需要同步的表,并单击image图标,将其移动至右侧已选库表

image

步骤四:目标表映射

目标表映射区域,全选目标表映射框中的表信息,单击批量刷新映射按钮。

说明

在上一步骤选择完需要同步的表后,将自动在此界面展示当前待同步的表,但目标表的相关属性默认为待映射状态,需要您定义并确认源表与目标表映射关系,即数据的读取与写入关系,然后单击刷新映射后才可进入下一步操作。您可以直接刷新映射,或自定义目标表规则后,再刷新映射。

您还可以选中列表中的表信息,单击批量修改,配置如下信息。

配置项

描述

目标表字段赋值

对目标端普通字段或分区字段进行赋值。

目标表名映射自定义

可以使用内置变量和手动输入的字符串拼接成最终目标表名。其中,支持您编辑内置变量,例如进行字符串替换。

目标表结构-批量修改和新增字段

可以批量修改目标表结构、添加字段和设置主键。

增量条件

对源端进行WHERE字句过滤,此处只需写WHERE子句,不需要写出WHERE关键字。如果启用了周期性配置,可以使用系统参数变量。例如:

STR_TO_DATE('${bizdate}', '%Y%m%d') <= columnName AND columnName < DATE_ADD(STR_TO_DATE('${bizdate}', '%Y%m%d'), interval 1 day)

周期配置

对周期同步的调度周期、重跑属性、调度资源组等进行配置。

image

步骤五:编辑字段类型映射

在StarRocks目标表为待建立的状态下,系统有一份默认的MySQL表转换到StarRocks表的字段类型映射,您还可以单击右上角的编辑字段类型映射自定义字段类型映射。修改后单击应用并刷新映射

步骤六:高级参数配置

您可以单击右上角的高级参数配置,对同步任务读端与写端进行精细化配置,例如离线任务源端最大连接数离线批量写入上限等参数。

步骤七:资源组配置

您可以在右上角的资源组配置处修改任务运行使用的独享数据集成资源组。

步骤八:执行同步任务

  1. 完成所有配置后,单击页面底部的完成配置

  2. 数据集成 > 同步任务界面,找到已创建的同步任务,单击操作列的启动

  3. 单击任务列表中对应任务的名称/ID,查看任务的详细执行过程。

同步任务运维

查看任务运行状态

创建完成同步任务后,您可以在同步任务页面查看当前已创建的同步任务列表及各个同步任务的基本信息。image

  • 您可以在操作启动停止同步任务,在更多中可以对同步任务进行编辑查看等操作。

  • 已启动的任务您可以在执行概况中看到任务运行的基本情况,也可以单击对应的概况区域查看执行详情。image

任务重跑

在某些特殊情况下,如果您需要增减表、修改表名信息时,您还可以单击同步任务操作列的重跑,系统会将新增的表或有变更的表进行同步,之前同步过的表或者未修改的表将不会再进行同步。