Hologres整库周期性增全量同步至MaxCompute

本文以Hologres离线同步写入MaxCompute场景为例,为您介绍如何把Hologres整个数据库的数据离线同步到MaxCompute。

使用限制

本实践仅支持使用独享数据集成资源组。

前提条件

  • 已完成来源数据源、去向数据源的配置。

    本实践以Hologres作为来源数据源,以MaxCompute作为去向数据源,因此您需要在DataWorks的工作空间的数据源管理页面新增Hologres数据源和MaxCompute数据源,两个数据源支持的数据同步能力请参见Hologres数据源MaxCompute数据源

  • 已购买独享数据集成资源组,并为资源组绑定工作空间、完成网络连通配置。

    本实践仅支持使用独享数据集成资源组,您需购买并配置独享资源组,保障资源组与Hologres数据源、MaxCompute数据源网络连通,独享数据集成资源组的购买与配置操作请参见新增和使用独享数据集成资源组

创建同步任务

  1. 登录并进入数据集成主站页面,单击同步任务进入同步任务页面,在页面中单击新增任务,开始配置同步任务。

  2. 配置同步任务基本信息。

    1. 任务名称:自定义。

    2. 同步类型:来源数据源选择Hologres,去向数据源选择MaxCompute;根据同步场景配置同步类型同步步骤

      • 若您需要进行一次性全量或周期性全量同步,此处请勾选全量同步

      • 若您需要进行一次性增量或周期性增量同步,此处请勾选增量同步

      • 若您需要进行一次性全量周期性增量同步,此处请同时勾选全量同步增量同步

    3. 网络与资源配置:在下拉框中分别选择已创建的Hologres数据源、MaxCompute数据源、独享数据集成资源组,单击测试所有连通性,保障资源组与数据源之间的网络连通性。

  3. 配置任务个性化信息。

    本文档以两个常用场景作为例子,配置Hologres到MaxCompute的同步任务,实际使用中请按照自身业务需求来配置任务。详情请参见场景1:周期全量配置方式场景2:一次性全量周期性增量配置方式

场景1:周期全量配置方式

当同步步骤选择结构迁移全量同步时,周期全量同步任务配置详情如下:

image.png
  1. 选择同步表。

    您可根据在左侧选择同步的源表区域,选中Hologres中需要同步的源表,将其添加至右侧已选库表区域。当前支持通过正则表达式进行表名搜索过滤。

  2. 配置全增量控制。

    全增量控制选择周期性。选择后您可以单击周期调度参数配置设置对应的调度参数。调度参数详情请参见调度参数支持的格式

    image.png
  3. 刷新目标表映射。

    • 单击表右侧操作列的刷新表映射,刷新后将为您展示表结构。

      • 目标端不存在的表可以单击目标表名列的image.png按钮编辑目标表结构,例如,为目标表添加字段,设置主键等。

      • 目标端已有表仅支持查看。

    • 还支持您全选目标表映射框中的表信息,单击批量刷新表映射按钮,进行批量表映射刷新。

  4. 同步前清空目标表。

    全量同步前,清空目标表可以保证数据与源端一致。您可以单击右上角的高级参数配置,在写端配置中,将同步前是否清空表设置为true。

    image.png
  5. 周期配置。

    表粒度周期性调度参数配置,支持批量修改/单表定制化修改。您可以设置调度周期、需要使用的调度资源组等,更多调度参数配置详情请参见调度属性配置

    image.png
  6. 完成上述所有任务配置后,单击完成配置,完成同步任务的配置。

    其他参数配置详情请参见其他高级配置

场景2:一次性全量周期性增量配置方式

当同步步骤选择结构迁移全量同步增量同步时,一次性全量周期性增量同步任务配置详情如下:

image.png
  1. 选择同步表。

    您可根据在左侧选择同步的源表区域,选中Hologres中需要同步的源表,将其添加至右侧已选库表区域。当前支持通过正则表达式进行表名搜索过滤。

  2. 配置全增量控制。

    此处默认展示一次性全量,周期性增量,不可更改。您可以单击周期调度参数配置设置对应的调度参数。以便任务配置过滤条件、目的表附加字段等地方使用。调度参数详情请参见调度参数支持的格式

    image.png
  3. 刷新目标表映射。

    • 单击表右侧操作列的刷新表映射,刷新后将为您展示表结构。

      • 目标端不存在的表可以单击目标表名列的image.png按钮编辑目标表结构,例如,为目标表添加字段,设置主键等。

      • 目标端已有表仅支持查看。

    • 还支持您全选目标表映射框中的表信息,单击批量刷新表映射按钮,进行批量表映射刷新。

  4. 增量条件配置。

    表粒度增量条件参数,支持批量修改/单表定制化修改。您可以对源端进行where字句过滤,此处只需写where子句,不需要写出where关键字。如果启用了周期性配置,可以使用系统参数变量。

    例如:实现每天增量抽取前一天0点到今天0点的数据。

    STR_TO_DATE('${bizdate}', '%Y%m%d') <= columnName AND columnName < DATE_ADD(STR_TO_DATE('${bizdate}', '%Y%m%d'), interval 1 day)
    image.png
  5. 周期配置。

    表粒度周期性调度参数配置,支持批量修改/单表定制化修改。您可以设置调度周期、需要使用的调度资源组等,更多调度参数配置详情请参见调度属性配置

    image.png
  6. 完成上述所有任务配置后,单击完成配置,完成同步任务的配置。

    其他参数配置详情请参见其他高级配置

其他高级配置

目标表名映射自定义

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

image.png

全增量与周期控制

  • 如果您的同步步骤勾选了全量同步增量同步,在全增量控制面板页面,默认展示一次性全量,周期性增量,不可更改。

    image.png
  • 如果您的同步步骤选择了全量同步,在全增量控制面板页面,可以选择任务的类型是一次性全量还是周期性全量。

    image.png
  • 如果您的同步步骤选择了增量同步,在全增量控制面板页面,可以选择任务的类型为一次性增量还是周期性增量。

    image.png

自定义类型映射

如果默认的字段类型映射不符合您的需求,您可以单击编辑字段类型映射修改字段映射关系,修改之后重新刷新表映射

image.png

附加字段使用调度参数

支持您在附加字段中使用调度参数。

  1. 在目标表映射表格中单击目标表名列的image.png按钮编辑目标表结构。

  2. 在弹出的目标表结构中,单击添加字段。添加字段后,单击应用并刷新映射

    image.png
  3. 单击批量修改中的目标表字段赋值,给新增字段赋值调度参数(目标表字段中可以快捷打开调度参数编辑面板),以添加一个cyc_time参数为例:

    image.pngimage.png
  4. 在手动赋值中填写${cyc_time}完成赋值。

    image.png

高级参数配置

您可以通过以下两种方式定义高级参数:

  • 单击页面右上角的高级参数配置,对同步任务读端与写端进行精细化配置,例如最大连接数、离线任务限流相关参数。

    配置高级参数可以控制任务的行为。高级参数功能是整个任务全局的高级参数配置,会应用到本任务的每一个表上。

  • 在刷新表映射表格上,您还可以单独配置每个表的自定义高级参数,单表的高级参数优先级更高。

    image.png

任务运维

启动同步任务

完成配置之后,界面会自动跳转到任务列表页面,您可以单击对应任务的操作列的启动按钮,启动同步任务。

image.png

查看任务详情

您可以单击任务名称执行概况的空白处,查看任务详情。任务详情包含以下几个部分。

  • 基本信息:包括任务的数据源信息,绑定的资源组以及同步方案。

  • 执行状态:Hologres到MaxCompute的离线整库同步任务细分后的同步步骤详情。

    • 如果您的任务同步类型为全量同步,此处展示结构迁移以及全量同步。

    • 如果您的任务同步类型为增量同步,此处展示结构迁移以及增量同步。

    • 如果您的任务同步类型为全量同步、增量同步,此处展示结构迁移、全量同步以及增量同步。

  • 详细信息:针对"结构迁移"以及"全量同步"、"增量同步"的信息执行步骤。

    • 结构迁移中包含目标表的创建方式(已有表/自动建表),如果是自动建表,则会为您展示建表的DDL。

    • 全量同步中包含离线同步的表信息、同步的进度、以及写入的条数。

    • 增量同步中包含周期任务对应的最新周期实例的相关指标信息。

任务重跑

  • 直接重跑:不修改任务配置,直接单击重跑操作。

    image.png

    效果:重跑一次性任务、周期性任务属性做更新。

  • 修改后重跑(增减表场景):编辑任务,进行增减表的操作, 单击完成。这个时候任务的操作会变成"应用更新",单击应用更新会直接触发修改后的任务重跑。

    效果:新增的表才会进行同步,之前同步过的表不会再同步。

  • 修改后重跑(修改表名信息):编辑任务,进行目标表的名称修改或者切换同步的目标表,单击完成。这个时候任务的操作会变成"应用更新",单击应用更新会直接触发修改后的任务重跑。

    效果:同步修改过的表,没有修改的表不会再进行同步

数据开发相关场景

如果您有下游数据依赖,需要进行数据开发操作的场景,可以参考配置调度依赖,进行节点上下游的设置,对应的周期任务节点信息可以在周期配置中查看。

image.pngimage.png