开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中Binlog日志没有存那么久,那怎么全量同步呢?

Flink CDC中Binlog日志没有存那么久,那怎么全量同步呢,select?这个快照是否类似datax的模式,那全量同步是否阻塞来保障数据一致性的,或者是有什么魔法,这块比较迷惑。

展开
收起
十一0204 2023-08-16 08:05:05 104 0
2 条回答
写回答
取消 提交回答
  • 全量同步是基于查询的,类似datax
    具体看flink-connector-mysql-cdc源码.

    查记录总数及任务分割
    com.ververica.cdc.connectors.mysql.source.assigners.ChunkSplitter
    private List splitTableIntoChunks() {
    final Object[] minMaxOfSplitColumn = queryMinMax(jdbc, tableId, splitColumnName);
    }

    查询数据

    com.ververica.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask
    private void createDataEventsForTable () {

    ResultSet rs = selectStatement.executeQuery()

    }

    2023-11-08 18:52:00
    赞同 展开评论 打赏
  • 意中人就是我呀!

    全量同步好像是使用的快照,不是binlog 日志, 官网有说明,你看下,flink 会自动从全量切换到增量。增量快照不是datax的模式(无锁),具体实现去看原理,群文件都有或者github的wiki里面有书本。此答案整理至钉群“Flink CDC 社区“。

    2023-08-16 08:34:37
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
    Kubernetes下日志实时采集、存储与计算实践 立即下载
    日志数据采集与分析对接 立即下载