有奖捉虫:行业应用 & 管理与支持文档专题 HOT
文档中心 > 最佳实践 > 数据集成 > DLC 数据实时导入与小文件合并

业务场景

通过 DataInLong 数据集成将业务数据源实时导入至 DLC iceberg 表的过程中,伴随着实时同步过程的推进,目标系统端会不断生成小文件。对于目标系统内已生成的小文件,基于周期合并的方式可避免由于小文件的累积造成目标系统 DLC 引擎查询效率恶化。

操作场景

本文以 MySQL 实时同步至 DLC iceberg 表为例,介绍实时任务配置及小文件合并操作实践。

操作步骤

创建目标表

进入 DLC 控制台,根据以下语句创建 DLC 原生表(内表), DLC 内表默认为 iceberg 表。详细创建 DLC 原生表属性及数据优化,详情请参见 数据优化
CREATE TABLE IF NOT EXISTS
`db_name`.`new_table_name`(
`column_name1` column_type1,
`column_name2` column_type2
);

配置项目空间

说明:
若您使用的是 WeData 产品,配置项目空间操作请参见 WeData-项目列表
1. 进入 DataInLong 控制台,单击项目列表 > 新建,新建项目空间。
?
?
2. 您可以参考下表配置项目空间信息。
参数
说明
项目名称/标识
项目命名与唯一标识,其中唯一标识创建后不可修改。
高级设置 - 项目成员
为此创建的项目中添加其他项目成员,创建者默认加入项目空间。
成员角色
批量为项目成员配置角色(此处默认为前面添加的成员添加统一的角色,后续可项目管理模块修改)。

配置集成资源组

1. 进入 DataInLong 控制台 选择集成资源并单击创建,进入集成资源组购买页。
?
?
说明
若您使用的是 WeData 产品,请点击进入 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
填写拥有引擎和 SQL 执行权限的账号或者子账号的密钥。可在 API 密钥管理 中查看。

配置实时同步任务

1. 创建任务。 进入数据集成模块,创建实时同步任务,在弹出的提示框中输入任务名称和备注,选择 画布模式表单模式,并单击完成。本介绍以画布模式为例。
?
?
2. 编辑任务。 单击新建的实时同步任务名称,进入任务编辑界面,通过拖拽分别新建读取数据源和写入数据源,并通过连线指定数据流向。
?
?
3. 配置 MySQL 节点。 双击画布中的 MySQL 节点,对读取数据源进行配置。如下图选择需要同步的数据库表,读取模式选择全量模式,完成后单击保存
?
?
4. 配置 DLC 节点。 双击画布中的 DLC 节点,对 DLC 写入数据源进行配置。如下图选中需要写入的库表,根据业务需求选择写入模式,并指定唯一键。例子中指定唯一键为 ID 和 MySQL 的主键保持一致。
?
下拉至底部,配置 MySQL 与 DLC 表字段映射,完成后单击保存
?
?
5. 任务保存与提交。
配置完节点后,单击任务数据配置集成资源组。此资源组为 配置集成资源组 步骤3中已关联至本空间的资源组。
?
?
完成后,单击提交按钮,并在弹窗口中勾选立即启动
?
?
6. 查看并运维实时任务。
提交任务后,可进入实时运维页面查看并监控任务状态。
?
?
单击运行监控,可查看当前任务数据指标统计、以及配置监控告警等。

存量任务处理

1. 如果存量实时同步任务需要添加小文件合并功能,首先需按照步骤一修改表属性。
说明
ALTER TABLE db_name.new_table_name SET TBLPROPERTIES ('write.compact.enable' = 'true', 'write.compact.snapshot.interval' = '20');其中合并周期参数‘write.compact.snapshot.interval’需要根据业务需求进行调整。
如果存量表已经存在大量的小文件,推荐手动将小文件合并到一定数量之下后,再启动定时合并功能。
2. 将实时同步任务停止运行即可。
?
?
?


http://www.vxiaotou.com