业务场景
通过 WeData-数据集成 将业务数据源实时导入至 DLC Iceberg 表的过程中,伴随着实时同步过程的推进,目标系统端会不断生成小文件。对于目标系统内已生成的小文件,基于周期合并的方式可避免由于小文件的累积造成目标系统 DLC 引擎查询效率恶化。
本文以 MySQL 实时同步至 DLC Iceberg 表为例,介绍实时任务配置及小文件合并操作实践。
操作步骤
创建目标表
1. 进入 DLC 控制台,根据以下语句创建 DLC 原生表(内表), DLC 内表默认为 iceberg 表。如存在 Upsert 写入,需要开启表版本为 V2,且开始 Upsert 写入。
CREATE TABLE IF NOT EXISTS`db_name`.`new_table_name`(`column_name1` column_type1,`column_name2` column_type2);
2. 如果开启 Upsert 写入模式,需要在 DLC 控制台开启数据优化,开启方法请参见开启数据治理。
配置项目空间
1. 进入 WeData 控制台,单击项目列表 > 创建项目,新建项目空间。
2. 配置项目空间信息
参数 | 参数说明 |
项目名称/标识 | 项目命名与唯一标识,其中唯一标识创建后不可修改 |
高级设置 - 项目成员 | 为此创建的项目中添加其他项目成员,创建者默认加入项目空间 |
成员角色 | 批量为项目成员配置角色(此处默认为前面添加的成员添加统一的角色,后续可项目管理模块修改) |
配置集成资源组
1. 进入 WeData 控制台 选择 执行资源组-集成资源并单击创建,进入集成资源组购买页。
2. 购买集成资源组。
说明:
离线资源包与实时资源包可根据实际数据情况配置规格、以及数量。
资源组网络建议选择 MySQL 和 DLC 所在网络;若 MySQL和 DLC 不在一个 VPC 环境,可为 VPC 配置开通公网,详细操作参见 资源组配置公网。
3. 购买完成后,返回控制台并关联资源组与项目空间。
说明:
若在购买页面内已经关联资源组与项目空间,可忽略此步骤。
配置数据源
1. 配置 MySQL 数据源。
进入项目管理模块,选择数据源管理 > 新建数据源 > 选择 MySQL。以 MySQL 数据源为例,数据连通性测试成功后,单击保存。
2. 配置 DLC 数据源。
进入项目管理模块,选择数据源管理 > 新建数据源 > 选择 DLC,配置数据源参数并在连通性测试成功后即可保存。
参数 | 参数说明 |
JDBC URL | 格式参考:jdbc:dlc:dlc.internal.tencentcloudapi.com?task_type=SparkSQLTask&database_name=&datasource_connection_name=DataLakeCatalog®ion=ap-beijing&data_engine_name=test_engine 若需要使用小文件合并,数据源的访问域名必须使用 dlc.internal.tencentcloudapi.com,task_type 必须使用 SparkSQLTask,data_engine_name 指定的引擎会用于实时同步后的小文件合并。 注意:小文件合并会使用此处配置的 DLC 数据引擎并在合并的时候占用部分资源,请合理配置资源,如果不启动小文件合并,该 DLC 引擎不会被使用 |
secretId/secretKey |
配置实时同步任务
1. 创建任务
进入WeData-数据集成模块,创建实时同步任务,在弹出的提示框中输入任务名称和备注,选择画布模式或表单模式并单击完成。本介绍以画布模式为例。
2. 编辑任务。
单击新建的实时同步任务名称,进入任务编辑界面,通过拖拽分别新建读取数据源和写入数据源,并通过连线指定数据流向:
3. 配置 MySQL 节点
双击画布中的 MySQL 节点,对读取数据源进行配置。如下图选择需要同步的数据库表,读取模式选择全量模式,完成后单击保存。
4. 配置 DLC 节点。
双击画布中的 DLC 节点,对 DLC 写入数据源进行配置。如下图选中需要写入的库表,根据业务需求选择写入模式,并指定唯一键。例子中指定唯一键为 ID 和 MySQL 的主键保持一致。
下拉至底部,配置 MySQL 与 DLC 表字段映射,完成后单击保存。
5. 任务保存与提交。
配置完节点后,单击任务数据配置集成资源组。此资源组为 配置集成资源组 步骤3中已关联至本空间的资源组。
完成后单击提交按钮,并在弹窗口中勾选立即启动。
6. 查看并运维实时任务。
提交任务后,可进入实时运维页面查看并监控任务状态。
单击运行监控,可查看当前任务数据指标统计、以及配置监控告警等。
存量任务处理
1. 如果存量实时同步任务开启小文件合并功能,首先需按照步骤一开启数据治理。
说明:
如果存量表已经存在大量的小文件,推荐手动将小文件合并到一定数量之下后,再启动定时合并功能。
2. 将实时同步任务停止再运行即可。