单表任务配置概览

最近更新时间:2024-09-04 20:44:31

我的收藏

背景信息

实时单表同步通过 binlog 日志实时监控及同步源端数据。单表同步采用固定字段同步的方式,仅将在任务配置中指定映射关系的来源字段数据同步至目标端。单表任务支持画布、表单两种配置模式,覆盖 MySQL、Kafka、Mongo、SqlSever、Doris、DLC 等数据源。

条件与限制

1. 已完成来源及目标端的数据源以备后续任务使用。详情请参见 数据源管理与配置方式
2. 已购买数据集成资源组。详情请参见 配置集成资源组
3. 已完成数据集成资源组与数据源的网络连通。详情请参见 集成连通性与使用规划
4. 已完成数据源环境准备。您可以基于您需要进行的同步配置,在同步任务执行前,授予数据源配置的账号在数据库进行相应操作的权限。
5. 若数据源配置的数据库账号不具备读写权限将导致任务运行失败,请根据实际读写场景配置具备相应权限的账号。

操作步骤

步骤一:创建实时同步任务

进入数据集成 > 实时同步任务页面后,单击新建单表同步任务。
在弹窗中配置任务基本信息,单击确定后即可进入任务配置页面。任务创建参数及说明如下:
参数
说明
任务名称
必填项
命名规则:仅支持中文、英文、数字和下划线
长度:不可超过100字符
任务模式
表单模式:适用于单表至单表离线同步,适用于 ODS 层无需数据清洗环节的数据同步。默认项。
画布模式:主要采用可视化拖拽方式,适用于包含清洗环节数据链路。
表单模式:适用于单表至单表离线同步,适用于 ODS 层无需数据清洗环节的数据同步
描述
选填项
说明:
当前版本,画布模式仅支持包含一个写入节点,两个读取节点;单个读取节点仅支持连接一个下游节点。
任务中不可存在未连线的孤立节点,否则任务将提交失败。
数据节点默认命名规则为:${节点类型}_${编码}。

步骤二:选择任务配置模式

任务配置目前提供了表单和画布两种配置模式:
表单模式适用于贴源层数据同步,支持使用 Flink 内置函数进行数据转换。
画布模式提供转换节点,支持在数据同步过程加入定制化的复杂数据转换。

配置模式1:表单配置




序号
参数说明
1
任务操作栏。对整个任务生效的操作,包括保存、提交、锁定/解锁、前往运维、刷新、画布转换。
2
2-1
数据来源及目标:配置任务读取和写入的数据源、库、表以及读写方式。
2-2
字段映射:设置来源和目标端数据对应关系,后续任务仅同步具有映射关系的字段之间的数据。
说明:
部分非关系型数据库无法自动获取字段信息,需手动逐个添加字段或批量添加字段。
3
任务配置,此配置信息对全局任务生效:
实时任务包括任务属性、版本管理配置,提供任务资源并行度、CU 用量配置等。

配置模式2:画布模式

在列表中单击任务名称即可进入任务配置页面,置界面总体包含任务操作栏、数据节点菜单、链路配置区三个部分:



序号
参数说明
1
任务操作栏。对整个任务生效的操作,包括保存、提交、锁定/解锁、前往运维、刷新、表单转换等。
2
数据节点菜单。根据链路对象分类为读取、写入、转换节点,支持拖拽方式直接添加节点至画布。
3
3-1
数据链路。由读取、写入、转换节点及节点间连线构成的数据链路,代表了同步任务内数据流向。
3-2
任务配置,此配置信息对全局任务生效:
实时任务包括任务属性、版本管理配置,提供任务资源并行度、CU 用量配置等。

步骤三:数据节点配置

创建的新任务后在任务列表中单击任务名称即可进入任务画布或表单界面。画布模式下,可从右侧节点菜单直接拖拽数据节点及连线,系统将根据节点间连线关系自动创建数据流链路。

配置读取节点

读取节点配置包括基本信息、数据来源、数据字段三部分。



基本信息 节点名称不可为空,且单个任务内不可存在同名的数据节点。
数据来源 配置需要读取的库表对象以及同步方式等信息。
数据字段 根据配置的数据表对象,系统支持默认拉取字段元数据信息以及手动配置字段两种方式。
默认拉取:针对 MySQL、Hive、PostgreSQL 等类型,系统已支持根据其库表信息自动拉取元数据字段及类型,无需手动编辑。
手动配置:文件(例如 HDFS、COS)以及列式存储数据源(例如 HBase、Mongo)等数据源系统不支持自动拉取元数据,可单击添加字段手动添加字段名称及类型。读取节点还额外支持常量以及函数类型。



说明
常量字段:仅读取节点支持配置常量字段。常量字段可在来源与目标表字段个数不一致的情况下固定将某个常量值写入目标表。
函数字段:仅读取节点支持函数常量字段。函数字段可基于来源字段进行函数处理后形成新的字段写入目标表。具体支持的 Flink 函数请参见 Flink 文档

配置转换节点(可跳过)

转换节点配置包括基本信息、转换规则、数据字段三部分。其中,转换转换节点必须作为读取节点下游,在创建与读取节点连线后系统将自动获取上游节点内字段信息,同时根据转换规则完成数据转换。
基本信息 配置节点名称信息。节点名称不可为空,且单个任务内不可存在同名的数据节点。
转换规则 配置字段或数据级转换规则,其中字段信息继承自上游节点,在与上游节点连线后系统将自动获取上游节点内字段信息。
数据字段 默认拉取上游节点全部数据字段用于后续写入节点映射。

配置写入节点

写入节点配置包括基本信息、数据来源、数据字段、字段映射四部分。写入节点将根据连线关系,将上游数据内容写入目标对象内。



基本信息 节点名称不可为空,且单个任务内不可存在同名的数据节点。
数据来源 配置需要读取的库表对象以及同步方式等信息。
数据字段 根据配置的数据表对象,系统支持默认拉取字段元数据信息以及手动配置字段两种方式。
默认拉取:针对 MySQL、Hive、PostgreSQL 等类型,系统已支持根据其库表信息自动拉取元数据字段及类型,无需手动编辑。
手动配置:文件(例如 HDFS、COS)以及列式存储数据源(例如 HBase、Mongo)等数据源系统不支持自动拉取元数据,可单击字段配置手动添加字段名称及类型。
字段映射 写入节点相对于读取节点需额外配置字段映射关系。字段映射关系旨在通过连线的方式指定目标字段内容的来源,支持同名映射、同行映射、以及手动连线三种方式配置来源与目标节点间关系。



说明
配置字段映射的前提为当前写入节点有已连线的来源(读取节点或转换节点)。
未配置映射关系的目标字段内容将为空。
若来源字段类型与目标字段类型间无法转换,可能会导致任务失败。

步骤四:实时任务属性配置

实时任务属性配置包括基本属性资源配置两部分:



类别
参数
说明
任务属性
任务名称/类型
展示当前任务名称及类型基本信息。
责任人
对此任务负责的一个或多个空间成员名称,默认为任务创建者。
描述
展示当前任务备注信息。
资源配置
集成资源组
指定当前任务使用的集成资源组名称,一个任务仅可绑定一个资源组。
资源分配方式
集成资源支持多种分配方式:
固定分配:此方式下不区分任务同步阶段,全量及增量同步过程中始终为当前任务分配固定资源量。此方式可避免任务间资源抢占,适用于任务运行过程中数据可能存在较大变动的场景。
按同步阶段分配:按全量和增量不同同步阶段分配计划的资源使用量,以节约整体资源用量。



JobManager
支持0.25、0.5、1、2C,设置后任务将默认占用此规格。
CU 任务实际占用 CU 数 = JobManager 规格 + TaskManager 规格 × 并行度。
TaskManager
支持0.25、0.5、1、2CU,设置后任务将默认占用此规格 。
CU 任务实际占用 CU 数 = JobManager 规格 + TaskManager 规格 × 并行度。
并行度
每个算子的默认并行度。
运行策略
checkpoint 间隔
设置 checkpoint 间隔时间,支持分钟/秒级。
最大重启次数
设置在执行过程中发生故障时任务最大的重启阈值,若运行中重启次数超过此阈值,任务状态将变为失败。设置范围为[-1,100], 阈值为0表示不重启,-1 表示不限制最大重启次数。
关联告警
支持对当前任务关联告警规则

步骤五:任务提交

实时同步任务在配置完成后可配置运行策略并提交到生产环境中运行。目前可在任务配置页面支持保存、提交、锁定/解锁、前往运维及表单/画布转换操作。
序号
参数
说明
1
保存
保存当前任务配置信息,包括数据节点配置、节点连线、任务属性配置。
2
提交
将当前任务提交至生产环境,提交时根据当前任务是否有生产态任务可选择不同运行策略。
若当前任务无生效的线上任务,即首次提交或线上任务处于“失败”状态,可直接提交。
若当前任务存在“运行中”或“暂停”状态的线上任务需选择不同策略。停止线上作业将抛弃之前任务运行位点,从头开始消费数据,保留作业状态将在重启后从之前最后消费位点继续运行。



说明:
单击立即启动任务将在提交后立即开始运行,否则需要手动触发才会正式运行。
3
锁定/解锁
默认创建者为首个持锁者,仅允许持锁者编辑任务配置及运行任务。若锁定者5分钟内没有编辑操作,其他人可点击图标抢锁,抢锁成功可进行编辑操作。
4
前往运维
根据当前任务名称快捷跳转至实时运维页面。
5
画布转换/表单转换
表单模式和画布模式可以互相转换。表单模式下提供画布转换功能,画布模式下提供表单转换功能。
说明:
当前仅支持任务在保存成功状态下才允许转换。
若画布模式包含转换节点,不支持转为表单模式。

任务配置检测

任务提交时会进行基础环境和配置检测,请重点关注未通过项和警告项。未通过项大概率会导致任务运行失败,警告项请结合业务情况判断影响。当前检测结果不会阻断任务提交,您可选择重新检测或忽略异常继续提交。




当前支持的检测项:
检测分类
检测项
说明
任务配置检测
来源配置
检测来源端的必填项是否有缺失
目标配置
检测目标端的必填项是否有缺失
映射关系配置
检测字段映射是否已配置
资源组配置
检测资源组是否有配置
相同数据表检测
检测当前项目下所有的实时单表任务(包含已提交和未提交)是否有同样来源表或目标表或来源表与目标表都相同的情况。相同表的判断依据为是否是同一个数据源同一个 DB 下的同名表。此检测项主要用于同一个表不希望有多个任务重复读取的场景。
数据源检测
来源端连通性检测
检测来源端数据源跟任务配置的资源组是否网络联通。检测不通过可查看诊断信息,打通网络后可重新检测,否则任务大概率会运行失败。
目标端连通性检测
检测目标端数据源跟任务配置的资源组是否网络联通。检测不通过可查看诊断信息,打通网络后可重新检测,否则任务大概率会运行失败。
资源检测
资源状态检测
检测资源组是否为可用状态。若资源状态不可用,请更换任务配置的资源组,否则任务大概率会运行失败。
资源余量检测
检测资源组当前剩余的资源是否满足任务配置的资源需求。若检测不通过,请适当调小任务资源配置或扩容资源组。

提交策略选择

正常提交或忽略异常提交后会进入提交策略选择页面,用户可根据业务需求选择不同的运行策略:



不同的任务运行状态支持的提交运行策略有所差异:
任务状态
提交运行策略
说明
1、首次提交
2、已停止/检测异常/初始化(非首次提交)
立即启动,从默认位点开始同步
此策略下将根据源端配置从默认位点开始读取。若源端配置为“全量+增量”读取方式,则默认先同步存量数据(全量阶段),完成后即可消费binlog获取变更数据(增量阶段);若源端配置为 “仅增量”读取,则默认使用binlog最新位点开始读取。
立即启动,指定时间点开始同步
此策略下需选择具体的开始时间,根据时间匹配位点。
1. 从指定时间点开始读取数据。若未匹配到指定位点,任务则默认从binlog最早位点开始同步
2. 若您源端读取方式为全量 + 增量,选择此策略将默认跳过全量阶段从增量的指定时间位点开始同步
暂不启动,稍后前往实时任务运维手动启动任务
此策略下仅提交任务到实时运维,不进行任务启动,后续可从实时运维页面批量启动任务。
运行中(非首次提交)
继续运行,保留作业状态数据,从上次同步最后位点继续运行
此策略下新版本任务提交后,将从上次同步最后位点继续运行。
重新启动,从指定时间点继续运行
此策略下您可指定重新启动读取的位点,任务将忽略老版本从指定位点重新开始读取。若未找到指定的时间位点任务将默认从 binlog 最早位点开始同步。
重新启动,停止正在运行任务并丢弃任务状态,从默认位点开始运行
此策略下将停止正在运行的任务并丢弃任务状态,然后根据源端配置从默认位点开始读取。若源端配置为“全量 + 增量”读取方式,则默认先同步存量数据(全量阶段),完成后即可消费 binlog 获取变更数据(增量阶段);若源端配置为 “仅增量”读取,则默认使用 binlog 最新位点开始读取。
已暂停(非首次提交)
继续运行,保留作业状态数据,从上次同步最后位点继续运行
此策略下新版本任务提交后,将从上次同步最后位点继续运行。
注意:
暂停操作时会生成快照,任务重新提交支持从最后位点继续运行。
强制暂停时不生成快照,任务重新提交支持从任务运行时最近一次生成的快照运行。这种暂停会导致任务数据重放一部分,如果目标写入是 Append 会有重复的数据,如果目标写入是 Upsert 则不会有重复问题。
重新启动,从指定时间点继续运行
此策略下您可指定重新启动读取的位点,任务将忽略老版本从指定位点重新开始读取。若未找到指定的时间位点任务将默认从 binlog 最早位点开始同步。
重新启动,停止正在运行任务并丢弃任务状态,从默认位点开始运行
此策略下将停止正在运行的任务并丢弃任务状态,然后根据源端配置从默认位点开始读取。若源端配置为“全量 + 增量”读取方式,则默认先同步存量数据(全量阶段),完成后即可消费 binlog 获取变更数据(增量阶段);若源端配置为 “仅增量”读取,则默认使用 binlog 最新位点开始读取。
失败(非首次提交)
从上次运行失败(checkpoint)位点恢复运行
此策略下将从任务上一次运行失败的位点继续运行
重新启动,根据任务读取配置从默认位点开始运行
此策略下将根据源端配置从默认位点开始读取。若源端配置为“全量+增量”读取方式,则默认先同步存量数据(全量阶段),完成后即可消费binlog获取变更数据(增量阶段);若源端配置为 “仅增量”读取,则默认使用binlog最新位点开始读取。
操作中(非首次提交)
不支持
线上有同名任务且状态为操作中时,不支持重新提交任务
同时,每次提交都将新生成一个实时任务版本,您可在对话框内配置版本描述。

提交结果

单击上图提交按钮后,会出现提交进度和提交结果:



任务提交中:
展示提交进度百分比。
任务提交结果 - 成功:
展示任务提交成功结果。
可前往运维进行任务运维管理或返回任务列表
任务提交结果 - 失败:
展示任务提交失败原因

后续步骤

完成任务配置并提交后,您可以对已创建的任务进行运维及监控告警,如对任务配置监控报警,并查看任务运行的关键指标等。详情请参见 实时运维