完成数据源、网络、资源的准备配置后,您可以创建并执行整库实时同步任务,开始进行数据同步。本文为您介绍如何创建整库实时同步任务,先将指定数据库中的部分或全部表的数据离线同步至ElasticSearch中,再将后续新增的数据实时同步至ElasticSearch中,并在创建完成后查看任务运行情况。

前提条件

创建数据同步任务前,需检查已完成以下准备操作。

背景信息

您可以使用通过Elasticsearch全托管方式提供的冷热存储方案存储企业的实时数据。基于该功能,DataWorks为您提供了整库实时同步数据至Elasticsearch的解决方案,轻松助力企业实现同步整库数据至Elasticsearch后,再将持续新增的数据实时同步至ElasticSearch中。同时,您可以实时查看创建的同步任务详情,监控任务的运行状况及业务库数据的更新情况,用于后续做数据检索、数据分析或数据开发。

整库实时同步数据的优势如下:
  • 整库级别同步。

    无需逐个创建表级别的数据同步任务,支持直接创建库级别的同步任务,选择目标库的部分或全部表数据进行同步。

  • 同步规则配置灵活。

    您可以根据业务需求灵活配置不同DDL消息的处理规则。例如,针对来源端删除表的DDL消息,如果您将同步数据的处理方式配置为忽略,则进行实时同步时,DataWorks收到相关删除表的DDL消息时,会忽略该类消息,目标端的对应表则不会被删除。

  • 配置操作简单。

    您无需进行创建同步任务、创建数据库、创建表、创建相互依赖以及执行参数对齐等复杂操作,通过简单的产品配置向导,即可完成对应功能的配置。

  • 实现海量数据的实时更新,自动化运维管理效率较高。

适用场景

适用于需要实时监测业务库数据的更新情况,便于上层应用对实时数据进行检索分析或数据开发的场景。

使用限制

  • 目前仅支持整库实时同步MySQL类型的数据库至ElasticSearch。
  • 整库实时同步解决方案仅支持使用独享资源组。

创建整库实时同步任务

  1. 登录并进入数据集成页面,单击同步解决方案 > 任务列表,进入同步解决方案页面。
    操作详情可参见进入同步解决方案
  2. 解决方案任务列表页面,单击右上方的新建任务
  3. 新建同步解决方案对话框中,单击一键实时同步至ElasticSearch
  4. 完成方案名称等基本信息配置。
    基本配置区域,配置各项参数。基本配置
    参数 描述
    方案名称 同步解决方案的名称,最多支持50个字符。
    描述 对当前方案进行简单描述,最多支持50个字符。
    目标任务存放位置 默认创建一个新的业务流程,所有任务均以clone_database_源端数据源名称+to+目标数据源名称的命名方式存放至数据集成目录下。

    您也可以取消自动建立工作流程,在选择位置下拉列表中指定存放目标任务的路径。

  5. 选择来源数据源并配置同步规则。
    1. 数据来源区域,选择类型数据源
      说明 仅支持选择MySQL类型的数据源。
    2. 选择同步的源表区域,选中需要同步的源表,单击图标图标,将其移动至已选源表
      选择来源数据源表
      该区域会为您展示所选数据源下所有的表,您可以选择同步目标数据源的部分或全部表。
      注意 如果选中的表没有主键,则在创建源表和目标ElasticSearch索引的映射关系时,需要为该表自定义主键(例如,使用非主键的一个或几个字段的联合代替主键)进行同步数据时去重,详情请参见选择目标数据源并配置目标索引
    3. 设置同步规则区域,单击添加规则,选择相应的规则进行添加。
      同步规则包括表名转换规则目标表名规则
      • 表名转换规则:转换表名为目标表名,进行字符串替换。
      • 目标表名规则:支持对转换后的表名添加前缀和后缀。
    4. 单击下一步
  6. 选择目标数据源并配置目标索引。
    1. 设置目标索引页签,选择目标ElasticSearch数据源
    2. 单击刷新源表和ElasticSearch索引映射,创建需要同步的源表和目标ElasticSearch索引的映射关系。
    3. 查看任务的执行进度和表来源。
      进度
      序号 描述
      显示映射关系的创建进度。
      说明 如果同步的表数量较多,会导致执行进度较慢,请耐心等待。
      • 如果来源库有主键,则同步数据时会直接使用该主键进行去重。
      • 如果来源库没有主键,则您需要单击编辑图标,自定义主键,即使用其他非主键的一个或几个字段的联合,代替主键进行同步数据时进行去重判断。
      选择的索引建立方式,取值如下:
      • 索引建立方式选择自动建索引时,ElasticSearch索引名列显示自动创建的ElasticSearch索引名称。您可以单击索引名称,修改建立索引的相关配置。
      • 索引建立方式选择使用已有索引时,请在ElasticSearch索引名列对应的下拉列表中,选择需要使用的索引。同时您可以单击设置同步规则,查看源表字段与目标索引的映射情况。
    4. 单击下一步
  7. DDL消息处理规则设置。
    来源数据源(MySQL)会包含许多DDL操作,进行实时同步时,您可以根据业务需求,对不同的DDL消息设置同步至目标端的规则。
    说明 该规则为初次执行实时同步任务时的DDL消息处理规则,后续如果您需要修改规则,可以手动停止任务,进入实时任务的配置页面修改,详情请参见管理整库实时同步任务
    1. DDL消息处理规则页签,配置实时同步DDL消息处理策略DDL消息处理规则
      不同DDL消息处理策略如下表所示。
      DDL消息类型 处理策略
      新建表 DataWorks收到对应类型的DDL消息时,处理策略如下:
      • 正常处理:将相应消息继续下发给目标数据源,由目标数据源来处理。因为不同目标数据源对DDL消息处理策略可能会不同,因此DataWorks只执行转发操作。例如,新增列类型的DDL消息对于MaxCompute而言是个错误的指令,但对于Hologres而言是新增一列的正常指令。
      • 忽略:直接丢弃该消息,不再向目标数据源发送。
      • 告警:直接丢弃该消息,同时会在实时同步日志中记录告警信息,指明该消息因执行出错被丢弃。
      • 出错:实时同步任务直接显示出错状态并终止运行。
      删除表
      新增列
      删除列
      重命名表
      重命名列
      修改列类型
      清空表
    2. 单击下一步
  8. 运行资源设置。
    运行资源设置页签,配置各项参数。运行资源设置
    • 离线全量同步
      参数 描述
      离线任务名称规则 全量同步时的离线任务名称。创建解决方案后,会先生成一个离线任务用于同步全量数据,再生成实时任务实时同步增量数据。
      全量离线任务资源组

      运行全量离线任务需要使用的独享数据集成资源组。

      目前解决方案仅支持使用独享数据集成资源组,此处可配置为准备操作中已购买并配置的独享数据集成资源组,详情请参见资源规划与配置
      说明 如果您没有购买独享资源组,可单击+新建独享资源组,创建新的独享资源组。
    • 离线全量调度
      参数 描述
      选择调度资源组

      选择运行任务时使用的调度资源组。

      目前解决方案仅支持使用独享调度资源组,此处可配置为准备操作中已购买并配置的独享调度资源组,详情请参见资源规划与配置
      说明 如果您没有购买独享资源组,可单击+新建独享资源组,创建新的独享资源组。
    • 实时增量同步
      参数 描述
      选择实时任务独享资源组

      选择运行实时任务时需要使用的独享数据集成资源组。

      目前解决方案仅支持使用独享数据集成资源组,此处可配置为准备操作中已购买并配置的独享数据集成资源组,详情请参见资源规划与配置
      说明 如果您没有购买独享资源组,可单击+新建独享资源组,创建新的独享资源组。
    • 通道设置
      参数 描述
      来源端读取支持最大连接数 读取端的最大连接数,即来源端数据库的JDBC连接数。请根据数据库资源的实际情况合理配置。默认为20
  9. 单击完成配置,完成整库实时同步任务的创建。

执行整库实时同步任务

解决方案任务列表页面,单击相应任务后的提交执行,运行创建的整库实时同步任务。

查看任务运行状态及结果

  • 解决方案任务列表页面,选择已运行任务后的更多 > 执行详情,查看当前解决方案整库实时同步任务过程中,各子任务节点的运行详情。任务状态
  • 单击子任务节点后的执行详情,可以单击对话框中的任务链接,进入子节点的数据开发页面。

管理整库实时同步任务

  • 查看或编辑任务。
    解决方案任务列表页面,单击相应任务后的更多 > 任务配置,查看或编辑任务。
    说明 仅单击未运行状态后的更多 > 任务配置,您可以编辑任务。其它状态下的任务配置页面,仅支持查看。
  • 修改任务优先级。
    单击相应任务后的更多 > 修改优先级。在修改优先级对话框中,输入需要配置的优先级数值,单击确定。优先级取值范围为1~8,数值越大优先级越高。
    说明 优先级相同的任务,按照提交时间的先后顺序执行。
  • 删除任务。
    单击相应任务后的更多 > 删除。在删除对话框中,单击确认
    说明 仅删除当前任务的配置记录,已经生成的表和任务不受影响。