反馈已提交

网络繁忙

单表实时同步处理

  • 文档创建者:FineTube
  • 历史版本:4
  • 最近更新:FineTube 于 2022-05-18
  • 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、模板下载

    附件列表


    主题: 典型场景
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭