一文讲清楚 FusionInsight MRS CDL 如何使用
摘要:CDL 是一种简单、高效的数据实时集成服务,能够从各种 OLTP 数据库中抓取 Data Change 事件,然后推送至 Kafka 中,最后由 Sink Connector 消费 Topic 中的数据并导入到大数据生态软件应用中,从而实现数据的实时入湖。
本文分享自华为云社区《华为FusionInsight MRS CDL使用指南》,作者:晋红轻。
CDL 是一种简单、高效的数据实时集成服务,能够从各种 OLTP 数据库中抓取 Data Change 事件,然后推送至 Kafka 中,最后由 Sink Connector 消费 Topic 中的数据并导入到大数据生态软件应用中,从而实现数据的实时入湖。
CDL 服务包含了两个重要的角色:CDLConnector 和 CDLService。CDLConnector 是具体执行数据抓取任务的实例,CDLService 是负责管理和创建任务的实例。
本此实践介绍以 mysql 作为数据源进行数据抓取。
前提条件
MRS 集群已安装 CDL 服务。
MySQL 数据库需要开启 mysql 的 bin log 功能(默认情况下是开启的)。
查看 MySQL 是否开启 bin log:
使用工具或者命令行连接 MySQL 数据库(本示例使用 navicat 工具连接),执行 show variables like 'log_%'命令查看。
例如在 navicat 工具选择"File> New Query"新建查询,输入如下 SQL 命令,单击"Run"在结果中"log_bin"显示为"ON"则表示开启成功。
show variableslike 'log_%'
工具准备
现在 cdl 只能使用 rest api 的方式进行命令提交,所以需要提前安装工具进行调试。本文使用 VSCode 工具。
完成之后安装 rest client 插件:
完成之后创建一个 cdl.http 的文件进行编辑:
创建 CDL 任务
CDL 任务创建的流程图如下所示:
说明:需要先创建一个 MySQL link, 在创建一个 Kafka link, 然后再创建一个 CDL 同步任务并启动。
MySQL link 部分 rest 请求代码
Kafka link 部分 rest 请求代码
CDL 任务命令部分 rest 请求代码
场景验证
生产库 MySQL 原始数据如下:
提交 CDL 任务之后
增加操作: insert into hudi.hudisource values (11,“蒋语堂”,38,“女”,“图”,“播放器”,28732);
对应 kafka 消息体:
更改操作: UPDATE hudi.hudisource SET uname=‘AnneMarie333’ WHERE uid=11;
对应 kafka 消息体:
删除操作:delete from hudi.hudisource where uid=11;
对应 kafka 消息体:
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/251c77590b42db12652b03ac5】。文章转载请联系作者。
评论