数据集成侧实时同步任务配置
DataWorks数据集成提供了单表实时同步任务,旨在实现不同数据源之间低延迟、高吞吐量的数据复制与流转。该功能基于先进的实时计算引擎,能够捕获源端数据的实时变更(增、删、改),并将其快速应用到目标端。本文以Kafka单表实时同步至MaxCompute为例,讲述单表实时的配置方式。
准备工作
数据源准备
已创建来源与去向数据源,数据源配置详见:数据源管理。
确保数据源支持实时同步能力,参见:支持的数据源及同步方案。
部分数据源需要开启日志,如Hologres、Oracle等。不同的数据源开启方式不同,详见数据源配置:数据源列表。
资源组:已购买并配置Serverless资源组。
网络连通:资源组与数据源之间需完成网络连通。
功能入口
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据集成。
配置任务
一、新建同步任务
您可以通过以下两种方式创建同步任务:
方式一:在同步任务页面,选择来源和去向,单击新建同步任务,此处来源选择Kafka,去向选择MaxCompute,您可以根据实际需求进行选择。
方式二:在同步任务页面,如果任务列表为空,单击请创建。
二、配置基本信息
配置任务名称、任务描述和责任人等基本信息。
选择同步类型:根据来源和去向,数据集成基于源端数据库与目标端数据库类型展示目前支持的同步类型,本文选择单表实时同步类型。
同步步骤:单表实时同步任务只支持增量同步,同步步骤通常为结构迁移和增量同步。即初始化来源表结构至目标端,并在任务启动后,自动捕获源端变更数据写入目标表。
若源端为Hologres还支持全量同步,即先将已有数据全量同步至目标表后,自动进行数据的增量同步。
支持的数据源及同步方案请参见:支持的数据源及同步方案。
三、网络与资源配置
在此步骤中,您需要选择要执行同步任务的资源组以及同步的来源数据源与去向数据源。并测试资源组与数据源的网络连通。
Serverless资源组支持为同步任务指定任务运行资源占用的CU上限,如果您的同步任务因资源不足出现OOM现象,请适当调整资源组的CU占用取值。
若还未创建数据源,请单击界面的新增数据源按钮,新建数据源。详情请参见:数据源配置。
四、配置同步链路
1、配置来源信息
在页面上方单击数据来源Kafka
,编辑Kafka来源信息。
在Kafka来源信息区域,选择Kafka数据源中需要同步的Topic。
其他配置可使用任务创建时生成的默认值,也可根据需要进行修改,参数详见:Kafka官方文档 。
单击右上角的数据采样。
在弹出对话框中指定好开始时间和采样条数后,单击开始采集按钮,可以对指定的Kafka Topic进行数据采样,同时您可以预览Topic中的数据,为后续数据处理节点的数据预览和可视化配置提供输入。
在输出字段配置区域,按需勾选同步任务需同步的字段。
Kafka侧字段中默认提供6个字段。
字段名
含义
__key__
Kafka记录的Key。
__value__
Kafka记录的Value。
__partition__
Kafka记录所在分区号,分区号为从0开始的整数。
__headers__
Kafka记录的dHeaders。
__offset__
Kafka记录在所在分区的偏移量,偏移量为从0开始的整数。
__timestamp__
Kafka记录的13位整数毫秒时间戳。
您也可以在后续的数据处理节点对字段进行更多转换处理。
2、编辑数据处理节点
单击图标可以增加数据处理方式。目前提供5种数据处理方式(数据脱敏、字符串替换、数据过滤、JSON解析和字段编辑与赋值),您可根据需要做顺序编排,在任务运行时会按照编排的数据处理先后顺序执行数据处理。
每完成一个数据处理节点配置,可以单击右上角的数据输出预览按钮:
在输入数据下方的表格中,可以看到上个环节数据采样的结果。您可以单击重新获取上游输出,来刷新结果。
如果上游没有输出结果,也可以通过手动构造数据来模拟前置输出。
单击预览,可以查看上游环节输出的数据,经过数据处理组件处理后输出的结果。
数据输出预览和数据处理强依赖Kafka来源的数据采样,在执行数据处理前需要先在Kafka来源表单中完成数据采样。
3、配置去向信息
在页面上方单击数据去向MaxCompute
,编辑MaxCompute去向信息。
在MaxCompute去向信息区域,选择Tunnel资源组,默认选择“公共传输资源”,即MC的免费quota。
选择要写入目标表是自动建表还是使用已有表。
如果是自动建表,默认会创建与数据来源端相同的表名,您可以手动修改目标端表名。
如果是使用已有表,请下拉选择需要同步的目标表。
(可选)编辑表结构。
当选择自动建表时,您需要单击编辑表结构按钮,在弹框中编辑目标表结构。同时,支持您单击根据上游节点输出列重新生成表结构按钮,自动根据上游节点输出列,生成表结构。您可以在自动生成的表结构中选择一列配置为主键。
配置字段映射。
系统会自动按照同名映射原则生成上游列与目标表列之间的映射,您可根据需要进行调整,支持一个上游列映射到多个目标表列,不允许多个上游列映射到一个目标表列,当上游列未配置到目标表列的映射时,对应列不会写入目标表。
Kafka侧字段可自定义配置JSON解析,可以通过数据处理组件获取value字段内容,实现更精细的字段配置。
分区设置(可选)。
时间自动分区是根据业务时间(此处为_timestamp)字段进行分区的,一级分区为年,二级分区为月,以此类推。
根据字段内容动态分区通过指定源端表某字段与目标MaxCompute表分区字段对应关系,实现源端对应字段所在数据行写入到MaxCompute表对应的分区中。
五、其他配置
报警配置
为避免任务出错导致业务数据同步延迟,您可以对单表实时同步任务设置报警策略。
单击页面右上方的报警配置,进入任务报警设置页面。
单击新增报警,配置报警规则。您可以通过设置报警原因,对任务的数据延迟、Failover情况、任务状态、DDL变更情况、任务资源利用率等指标进行监控,并根据指定的阈值设置CRITICAL或WARNING两种不同级别的告警方式。
管理报警规则。
对于已创建的报警规则,您可以通过报警开关控制报警规则是否开启,同时,您可以根据报警级别将报警发送给不同的人员。
高级参数配置
同步任务提供高级参数可供精细化配置,系统设有默认值,多数情况下无需修改。如有修改必要,您可以:
单击界面右上方的高级参数配置,进入高级参数配置页面。
修改自动设置运行时配置,设置为false。
根据参数提示,修改参数值,参数含义见参数名称后的解释。
请在完全了解参数含义与作用后果再进行修改,以免产生不可预料的错误或者数据质量问题。
资源组配置
您可以单击界面右上方的资源组配置,查看并切换当前的任务所使用的资源组。
六、模拟运行
完成上述所有任务配置后,您可以单击右上角模拟运行来调试任务,模拟整个任务针对少量采样数据的处理,查看数据写入目标表后的结果。当任务配置错误、模拟运行过程中异常或者产生脏数据时,会实时反馈出异常信息,能够帮助您快速评估任务配置的正确性,以及是否能得到预期结果。
在弹出的对话框中设置采样参数(开始时间和采样条数)。
单击开始采集得到采样数据。
单击预览按钮,模拟任务运行,并查看输出结果。
模拟运行输出的结果仅作预览,不会写入目标端数据源,对生产数据造成影响。
七、启动任务
完成所有配置后,单击页面底部的完成配置。
在
界面,找到已创建的同步任务,单击操作列的启动。单击任务列表中对应任务的名称/ID,查看任务的详细执行过程。
后续步骤
任务启动后,您可以点击任务名称,查看运行详情,进行任务运维和调优。
常见问题
实时同步任务常见问题请参见实时同步常见问题。
更多案例
Kafka单表实时同步至ApsaraDB for OceanBase