zoukankan      html  css  js  c++  java
  • 数据抽取 之 CDC(变化/增量数据捕获)

    • 基于时间戳CDC
    • 基于触发器的CDC
    • 基于快照的CDC
    • 基于日志的CDC

    基本用时间戳CDC,日志CDC!

    分为侵入式和非侵入式。侵入式:对源数据库有sql操作,有性能影响(前三种都是)

    1.基于时间戳CDC

    两列时间,分别记录create_time和modify_time,可以识别变动数据

    缺点:

    1.无法识别多次更新

    2.无法识别删除

    3.不具有实时能力

    2.基于触发器的CDC【少】

    原始数据表+insert触发器,可以在另外一张表中记录对原表的增删改查操作

    事件机制

    影响性能:因为数据库中直接多了一张表!所以很少使用此方法。

    3.基于快照的CDC

    比较某个表现在的情况 vs 某个时间点某个表的快照 => 差异检测出更新情况

    缺点:需要大量存储空间保存快照

    4.基于日志CDC

    binlog用来记录对mysql的操作日志,如何开启binlog => https://www.jb51.net/article/157187.htm

    场景:日志抽取 => kafka实时/hbase/redis但不会hive(慢) => spark计算 => 展示

    (在hive中,transactional=‘true’表明如此我可以进行事务操作如更新,一般情况不更新)

     场景应用:

    • flume收集日志工具 + binlog日志= 整合,实时监控,使用flume-ng-sql-source
    • 专门用来同步binlog的工具:canal,可以实现“ MySQL Binlog通过Canal同步HDFS ”
  • 相关阅读:
    第二次Java作业2
    5月29日打卡
    5月24号打卡
    5月22日打卡
    窗口的切换
    第三次作业
    第五次实训作业
    第二次Java作业
    无法解析的外部符号之_cvLoadImage,_cvCreateMat,_cvReleaseImage之类
    无法解析的外部符号"void_cdecl caffe::caffe_gpu_dot<double>(int,double........)"
  • 原文地址:https://www.cnblogs.com/sabertobih/p/14031034.html
Copyright © 2011-2022 走看看