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

flinkcdc从时间戳启动,为啥只能读取最近的两个binlog日志文件吗?还是有其他规律吗?

flinkcdc从时间戳启动,为啥只能读取最近的两个binlog日志文件吗?还是有其他规律吗?时间戳有啥要求吗?

展开
收起
真的很搞笑 2023-11-07 08:05:05 98 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC 只能读取从某个时间点以后的 binlog 日志文件。也就是说,如果设置了一个时间戳,则只能读取此时间戳以后的所有 binlog 日志文件。
    对于 binlog 日志文件的要求,请参阅 Oracle 数据库的官方文档和开发指南,以了解详细的要求和规定。需要注意的是,binlog 文件有格式要求,例如 binlog 格式和编码等,因此务必按照规范来创建 binlog 文件。
    此外,需要注意的是,由于 Flink CDC 依赖于 binlog 文件的创建日期,因此务必确保 binlog 文件创建日期与实际日期相符。如果 binlog 文件日期不正确,则会导致读取失败。

    2023-11-07 14:36:18
    赞同 1 展开评论 打赏
  • Flink CDC从时间戳启动时,默认会尝试读取与时间戳最近的两个binlog日志文件。这是由于Flink CDC在启动时会根据时间戳加载最近的变更数据,而binlog日志文件是MySQL数据库记录变更数据的主要方式。

    Flink CDC会根据时间戳找到最近的两个binlog日志文件,并从这两个文件的起始位置开始读取变更数据。这样做的原因是,MySQL的binlog日志文件是按照时间顺序命名的,最近的binlog日志文件包含最新的变更数据。同时,读取两个文件可以确保捕获到更多的变更数据,提高数据的一致性。

    至于时间戳的要求,Flink CDC通常要求提供的时间戳与MySQL数据库中的时间戳一致。时间戳应该是一个有效的Unix时间戳,表示特定时刻的时间。在启动Flink CDC时,需要将提供的时间戳作为参数传递给Flink CDC,以便正确地定位到相应的binlog日志文件。

    2023-11-07 10:19:05
    赞同 展开评论 打赏

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

相关电子书

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