历史版本4 :单表实时同步处理 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1、背景编辑

一句话背景总结:需要对业务系统数据进行实时监控


实际应用场景:

1、在双十一,黑色星期五这种购物节日时,商家往往会做出各种各样的活动进行促销。这时候会产生各种各样的问题,通过微信、云闪付APP、电话等多方面途径介入到银联客服中心,这个时候语音系统、电话系统各个系统都在发生数据,而我们大屏通过实时同步(此时必须要实时同步,如果有时间差则会造成处理不及时等问题),能够实时展现最新一秒的前方战况是怎样的,并给风险情况自动预警,辅助银联客服中心进行活动运营。

2、电话接通情况监控,例如:客服中心一共有200位客服人员,我们要通过FT进行数据同步,实时展现电话接通情况在数据大屏上。方便业务人员转接一些较急的电话、微信或者工单处理。


2、方案选择编辑

关键算子:日志解析——mysql binlog


此处和数据管道直接原表原样同步,不同的是,此处支持对单一表进行实时同步,通过数据处理过程,输出想要的数据结果。

优点:无需临时表操作,使用自定义参数,同步过程参数自动更新,基于日志(cdc、binlog、logminer)、时间戳等技术实现实时增量同步数据。

3、实现步骤编辑

3.1 新建任务

目录:数据集成>>数据流任务>>添加

3.2 实时增量同步配置

此处以 mysql binlog为例,所有带 * 的为必填项。


基本属性:

① 解析的表:针对单表只需要配置一个;同时支持多选,在输出时,进行if-else的条件选择输出

② 解析时间:由于实时同步理论基于日志,所以需要填写日志解析开始时间

注意:若出现预览无数据显示,则需要确认这段时间内,此表的数据是否有更新;另外,一般情况下日志会是有时间限制的,保留时间7天

字段配置:

③ 自动获取字段,通过④步骤配置业务键,此时的业务键(唯一键)做为更新和删除操作的条件


3.3 if-else算子

由于需要对实时数据进行判断,不同类别的数据存储到不同的表中,所以采用if-else算子对齐进行判断:

如图所示,当①中的用户名为“marjorie”时,则执行“if表输出”,否则执行“else表输出”


3.4 表输出

基本属性:

①选择输出表所在的数据库

②支持自动建表:可选择“不存在时创建“或者”先删除再创建”

③手动输入表名

字段配置:

④ 点击“获取字段”即可自动获取

⑤ 此时的业务键,可根据3.2中的配置自动带出,无需额外配置。

3.5 执行计划

选择“简单重复执行”,“每隔1s执行一次”,即数据完成写入后,间隔1s进行写入操作。

4、执行结果编辑

保存任务后,点击运行,通过数据库即可查看结果。

此时的两张数据表中,结果显示根据用户名进行了不同的数据入库操作:

5、模板下载编辑