最近更新时间:2023.11.09 17:43:57
首次发布时间:2023.08.14 10:14:48
离线整库同步方案,可周期性和一次性将整库表数据同步到目标端,方案类型包括离线整库同步(一次性全量)、离线整库同步(周期性全量)、离线整库同步(一次性增量)、离线整库同步(周期性增量)、离线整库同步(一次性全量周期性增量) 五种类型,您可根据实际场景进行方案配置,助力您将业务数据更高效、更便捷的同步至湖仓一体分析(LAS)、Hive 数据库表中。
本文为您介绍离线整库同步的主流程概要及各方案类型的执行说明。
各方案类型说明:
方案类型 | 说明 | 方案生成的内容 |
---|---|---|
离线整库同步(一次性全量) | 配置离线整库一次性全量同步方案,方案将创建一个全量数据采集任务,只执行一次同步操作,将来源数据库表的所有数据,一次性全量同步至目标表中。 | 目标表+一次性全量离线同步任务 |
离线整库同步(周期性全量) | 配置离线整库周期性全量同步方案,可按照配置的周期调度属性执行任务,每次执行时都将来源数据源的所有数据,全量同步至目标中。 | 目标表+周期性的全量离线同步任务 |
离线整库同步(一次性增量) | 配置离线整库一次性增量同步方案,可按照任务指定的过滤条件,将来源数据中符合要求的增量数据一次性的同步至目标表中。 | 目标表+一次性增量离线同步任务 |
离线整库同步(周期性增量) | 配置离线整库周期性增量同步方案,可按照指定的过滤条件和周期调度属性,每次执行任务时仅将筛选过滤条件后的增量数据同步至目标中。 | 目标表+周期性的增量离线同步任务 |
离线整库同步(一次性全量周期性增量) | 离线整库一次性全量周期性增量同步方案,先将来源的所有数据全量同步至目标表;再按指定过滤条件和周期调度属性,后续周期性执行任务时仅同步筛选后的增量数据。 | 目标表+一次性全量离线同步任务+周期性增量离线同步任务 |
已开通并创建 DataLeap 项目,创建的全量增量任务均会同步到该项目下。详见新建项目。
已开通全域数据集成(DataSail)产品。详见服务开通。
已创建合适资源规格的独享数据集成资源组,并将其绑定至创建成功的 DataLeap 项目下。购买操作详见资源组管理,项目绑定操作详见数据集成资源组。
已完成来源和目标端的数据源准备,创建数据源操作详见配置数据源。
同步解决方案同时支持选择的表数量目前上限为 1000 张,但建议先以 100 张以下表数量来试用。
目标数据库需要提前在湖仓一体分析服务(LAS)中先创建好,暂不支持在解决方案中自动创建。
目前表建立方式为选用已有表时,需要保证目标表 Schema 和源表 Schema 的表名称、字段名称和字段数量数量保持一致。
整库离线同步方案同步数据至 LAS 时,目前仅支持将数据写入分区表,暂不支持写入数据至非分区表。
在配置离线整库同步解决方案前,您需在数据源管理界面中,配置来源端和目标端相应的数据源。详见配置数据源。
独享数据集成资源组所在的 VPC 需要和源端数据库实例所在的 VPC 保持一致,火山引擎 RDS 数据库类型需要将 VPC 中的 IPv4 CIDR 地址,加入到 RDS 数据库的白名单下,保证资源组与数据源之间的网络互通;
若资源组和数据源实例不在同一 VPC 环境时,您可通过公网或者通过专线形式进行互通。网络配置详见网络连通解决方案。
数据源配置操作准备完成后,您可开始进行离线整库同步方案配置:
登录 DataSail 控制台。
在左侧导航栏中选择数据同步方案,进入同步方案配置界面。
单击目录树中项目选择入口,选择已创建的 DataLeap 项目。
单击右上角新建数据同步解决方案按钮,下拉选择离线整库同步按钮,进入离线整库同步方案配置界面。按照以下配置,完成方案新建。
进入配置界面后,您可按实际场景需求,完成方案的基本配置、数据来源配置、数据缓存配置、数据目标配置、运行配置等五个流程配置。
基本配置参数说明如下表所示。
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
基本信息 | |
*方案名称 | 输入整库离线同步方案名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需在127个字符以内。 |
方案描述 | 输入此方案的描述信息,方便后续维护管理。 |
*保存至 | 下拉选择方案保存路径,此路径为数据开发项目中的任务路径。创建方式详见任务目录树管理。 |
*链路类型 | 下拉选择来源和目标端数据源类型。
|
*方案类型选择 | 方案类型包括离线整库同步(一次性全量)、离线整库同步(周期性全量)、离线整库同步(一次性增量)、离线整库同步(周期性增量)、离线整库同步(一次性全量周期性增量) 五种类型。您可按需进行选择。 |
网络与资源配置 | |
*数据来源 | 下拉选择数据源管理中创建成功的源端数据源名称。 |
*数据目标 | 下拉选择数据源管理中创建成功的目标端数据源名称。 |
*离线/实时集成任务资源组(离线全量/实时增量) | 下拉选择 DataLeap 项目控制台中已绑定的独享数据集成资源组:
|
方案基本配置完成后,单击右下角下一步按钮,进行方案的数据来源配置。
在数据来源配置界面中,完成数据来源设置与库表映射规则匹配策略:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
数据源设置 | |
*数据源 | 下拉选择数据源管理中创建成功的数据源。若此前仍未创建相应数据源,您可单击右侧数据源管理按钮,前往数据源管理界面,进行数据源的创建。 |
*数据表 | 在左侧您可选择来源数据库表信息:
|
映射规则 | |
*库表匹配策略 | 支持选择与来源库表同名或设定自定义方式匹配策略:
|
数据来源配置完成后,单击右下角下一步按钮,进行方案的数据目标端配置。
在目标配置界面中,完成数据源目标端设置与映射相关配置:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
数据源设置 | |
*数据源 | 下拉选择数据源管理中创建成功的目标端 LAS/Hive 数据源。若此前仍未创建相应 LAS/Hive 数据源,您可单击右侧数据源管理按钮,前往数据源管理界面,进行数据源的创建。 |
*自动分区设置 | 目前仅支持写入 LAS/Hive 分区表,分区字段,您可单击编辑按钮,进行自定义编辑名称,支持多级分区字段配置。 |
映射配置 | |
*刷新源表和目标表映射 | 单击刷新源表和目标表映射按钮,自动加载源表和目标表信息,您可以在列表中进行以下操作:
说明 表建立方式分为使用已有表、自动建表和数据表不存在几种方式:
|
数据目标配置完成后,单击右下角下一步按钮,进行方案的同步规则配置。
各方案类型对应的同步规则配置项不同,您可根据实际情况进行配置:
全量同步
离线整库同步(一次性全量)、离线整库同步(周期性全量)、离线整库同步(一次性全量周期性增量)这三种方案需选择源端全量数据写入目标库表前,是否清理目标库表中的历史数据。目前全量同步方案默认仅支持写入前清理。后续方案更新敬请期待。
增量同步
离线整库同步(一次性增量)、离线整库同步(周期性增量)、离线整库同步(一次性全量周期性增量)这三种方案需配置增量筛选条件,您可在输入框中直接输入 where 后的语句,对同步的源端数据表进行过滤,且只需在框中填写 where 语句,无需填写where关键字。
如:date_time='${DATE}'
周期设置
离线整库同步(周期性全量)、离线整库同步(周期性增量)、离线整库同步(一次性全量周期性增量)这三种方案,需配置相应的周期任务执行属性:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
周期设置:配置周期性执行任务规则。 | |
*执行频率 | 选择周期任务执行频率,支持选择以下几种频率。
|
*失败重跑次数 | 任务失败后重试的次数。 |
*失败重跑间隔 | 任务失败后每次重试的时间间隔。 |
按需配置整库离线方案的同步规则完成后,单击右下角下一步按钮,进行方案的运行规则配置。
各方案类型对应的运行配置项不同,您可根据实际情况进行配置。
全量同步、增量同步:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*离线集成任务资源组 | 选择全量同步任务所使用的资源组,下拉选择 DataLeap 项目控制台中已绑定的独享数据集成资源组:
|
*默认 Quota 数 | 一次性同步方案(包括一次性全量、一次性增量、一次性全量周期性增量),需设置可同时提交执行的集成任务数量,可根据独享集成资源组规格进行配置,如资源组的大小为 40CU,则 Quoto 配置需必须小于 20(40/2),否则会因资源问题导致任务执行时异常。 |
调度设置:
选择离线任务运行时所使用的调度资源组,主要用来支持离线任务执行时,将任务下发分配至独享数据集成资源组中运行,即离线集成任务需调度资源组和独享数据集成资源组来共同承载任务的运行。
目前调度资源组支持选择公共调度资源组和独享调度资源组。
通道设置:
配置任务通道相关参数:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
通道设置 | |
---|---|
*期望最大并发数 | 设置离线任务同步时,可以从源端并行读取或并行写入目标端的最大线程数。 |
脏数据设置 | 您可以在此通过以下两种方式设置脏数据的处理方式:
|
集成高级参数设置 | 打开高级参数输入按钮,根据实际业务要求,以 Key\Value 形式,在编辑框中输入离线任务所需的高级参数。支持参数详见高级参数。 |
方案运行配置完成后,单击右下角提交方案按钮,进行方案的提交。
在弹窗中,勾选方案立即执行,并单击确定按钮,完成整库离线同步解决方案的创建。
目前,离线整库方案提供了“与来源库表同名”和“自定义”两种库表匹配策略。
在对应数据源下,选择源端需要同步的数据库表后,默认将源端数据库表,写入到目标端同名的数据库和同名数据表中。此策略下,在方案运行时,默认将在目标数据源内与来源数据库表中的同名对象进行匹配,若目标端不存在该数据表,则方案将会自动生成同名数据表。
说明
目前暂不支持自动创建同名数据库,您需先在目标端LAS创建好同名的数据库。
示例如下:
将源端数据库 DB1 下的 TableA 和 TableB 同步至 LAS ,配置“与来源库表同名”策略后,任务运行时将默认在目标数据源内分别匹配 “DB1.TableA” 和 “DB1.TableB”。
若目标端 DB1 下不存在 TableA,则自动生成 TableA;已存在 TableB,则直接使用目标端的 TableB。
同时我们提供了三种对库表映射规则进行转换的配置方式。您在源端选中需要同步的数据库表后,将通过设置的库表映射规则,例如在源端数据库名或表名中加上统一固定的前缀或后缀,在方案执行时,实现写入到转换后的目标端数据库和数据表中,提升方案配置效率。
以下为您介绍三种自定义的库表映射规则:
映射规则 | 说明 |
---|---|
源库名和目标库名转换规则 | 配置源库名到目标库名的映射关系,如不配置此项,目标库将使用与来源库同名的库。
说明
|
源表名和目标表名转换规则 | 配置源表名到目标表名的映射关系,如不配置此项,目标表将使用与来源表同名的表。 说明 实时整库同步解决方案,支持设置多个表名转换规则和批量添加规则。 |
目标表名规则 | 支持设置单条目标表的规则,如果设置此规则,“源表名与目标表名转换规则”中转换结果将作为中间结果,可通过变量 ${table_name_src_transed} 在此条规则中使用。 说明 内置变量说明:
内置变量仅可在“目标表名规则”中使用, |
下面以 MySQL 和 PostgreSQL 数据源中的库表,映射转换到目标端 LAS 数据库表中为例,为您示例映射转换的匹配策略。
源端 MySQL 数据库中存在 DB1、DB2 两个数据库;DB1 下已有表 Table1、DB2 下已有表 Table2。
源端 | 源库名和目标库名转换规则 | 源表名和目标表名转换规则 | 目标表名规则 | 目标端转换结果 | |
---|---|---|---|---|---|
示例1 |
|
| Table1 -> Target_Table1 | 无 |
|
示例2 |
|
| 无 | 无 |
|
示例3 |
| 无 | Table1 -> Target_Table1 | test |
|
示例4 |
| DB1 -> Target_DB1 | Table1 -> Target_Table1 | ${db_name_src_transed}_test_${table_name_src_transed} |
|
源端 PostgreSQL 数据库中存在 DB 数据库,DB 下有 Schema1 和 Shcema2,Schema1 下已有表 Table1,Shcema2 下已有表 Table2。
源端 | 源库名和目标库名转换规则 | 源表名和目标表名转换规则 | 目标表名规则 | 转换结果 | |
---|---|---|---|---|---|
示例1 |
| 无 | 无 | 无 |
|
示例2 |
| DB -> Target_DB |
| 无 |
|
示例3 |
| DB -> Target_DB | Table1 -> Target_Table1 | ${db_name_src_transed}_test_${table_name_src_transed} |
|
示例4 |
| DB -> Target_DB | Table1 -> Target_Table1 | ${table_name_src_transed}_${schema_name_src_transed} |
|
方案创建完成后,进入到方案列表界面,便可查看方案的执行概况,同时您也可以在列表界面进行以下操作:
在创建众多的解决方案后,您可在方案列表界面通过搜索或筛选的方式进行快速定位方案。
您可通过方案名称、方案 ID、数据来源名称、数据目标名称等信息,输入搜索的方式进行筛选。
您也可通过下拉选择方案操作状态、方案类型、数据来源名称、数据目标类型、创建人等选项进行任务的定位操作。
在方案列表的运维列中,您可操作执行方案运维相关内容:
说明
启动中的解决方案不支持进行提交执行、方案编辑、方案删除操作。
运维操作 | 说明 |
---|---|
执行详情 | 单击运维操作列的执行详情按钮,进入解决方案执行详情界面,查看方案的具体执行步骤,如目标表创建,全量批式任务的创建、发布、启动等一系列详情步骤。 |
提交执行 | 未在启动中的任务,您可单击运维操作列的提交执行按钮,将任务提交到运行状态,开启方案的运行。 |
方案查看 | 单击运维操作列更多中的方案查看按钮,可对当前解决方案的各个配置步骤进行查看。 |
方案编辑 | 单击运维操作列更多中的方案编辑按钮,可对当前解决方案的数据来源端、目标端、同步规则、运行配置步骤进行修改编辑,如您可在数据来源配置步骤中,为当前解决方案新增同步表或删除已选择的同步表等操作。 |
方案复制 | 单击运维操作列更多中的方案复制按钮,在弹窗中设置新方案的名称信息,单击确定按钮,完成复制。 |
方案删除 | 单击运维操作列更多中的方案删除按钮,将处于非运行中、非启动中的方案进行删除,当前仅删除解决方案本身,已生成的表和集成任务不会被删除。 |
运行监控 | 单击运维操作列更多中的运行监控按钮,为当前离线同步方案配置一次性全量、周期性增量任务的运行监控。 |
提交停止 | 单击运维操作列更多中的提交停止按钮,可将处于正常运行中的周期性任务进行停止操作。 |
数据回溯 | 单击运维操作列更多中的数据回溯按钮,您可按需指定回溯的业务日期,对目标表进行数据回溯,若当前目标表增加了列,对应的数据也会一并回溯。 说明 若写入的目标表为非分区表时,不能指定回溯业务日期,默认回溯当前日期前一天的日期。 |
操作历史 | 单击运维操作列更多中的操作历史按钮,您可查看当前同步方案的操作历史情况,如创建方案、重启方案、提交停止等操作,均会记录在操作历史中。您可单击操作列中的查看详情按钮,对历史版本的操作进行查看。 |
方案提交完成,任务处于运行中后,您也可以前往运维中心 > 离线任务运维界面,对离线任务进行一系列运维操作,如对任务配置监控报警,开启关闭任务等操作。运维操作详见离线任务运维。