一图读懂:Flink CDC如何流式写入Paimon?

2024-06-05 01:28

本文主要是介绍一图读懂:Flink CDC如何流式写入Paimon?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一图读懂:Flink CDC如何流式写入Paimon?

在这里插入图片描述

以Mysql CDC至Paimon为例

整体架构

在这里插入图片描述

  • MySQL CDC SourceSnapshotReader读取快照全量数据,BinlogReader读取增量数据。

  • paimon sink 实现桶级别的写入,compactManager实现异步compaction

  • comitter 单例模式负责提交和过期快照

流程

第一步:当source端读取 到全量快照数据和增量数据,发送到下游sink

在这里插入图片描述

第二步:sink端获取到数据,先在在内存LSM tree中缓存,当内存满了以后flush到磁盘中。

注意:此时并没有创建snapshot,当flink 写入checkpoint时,paimon sink会把所有缓从中的记录刷写到磁盘,并且发送一个committable 消息给下游。下游Committer Operator read during checkpoint。

在这里插入图片描述

第三步:checkpoint期间,commiter operator 会创建一个新的snapshot 和manifest关联起来,所以一个snapshot包含了一个表的所有信息。

在这里插入图片描述

第四步:这一步是被触发的。异步执行的。CompactManager 生成的committable包含previous files 和 merged files ,所以Commiter Operator可以构造相应的manifest。

这种情况下,Commiter Operator在checkpoin期间可能生成两份快照,一份是数据写入(Append类型的快照),另外一份是compact快照。如果在checkpoint期间没有写入数据文件,就只会创建Compact类型的快照。Committer Operator将检查快照是否过期,并对标记的数据文件执行物理删除。

在这里插入图片描述

参考文献:

https://paimon.apache.org/docs/0.8/learn-paimon/understand-files/#flink-stream-write

这篇关于一图读懂:Flink CDC如何流式写入Paimon?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031685

相关文章

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Java 8 Stream filter流式过滤器详解

《Java8Streamfilter流式过滤器详解》本文介绍了Java8的StreamAPI中的filter方法,展示了如何使用lambda表达式根据条件过滤流式数据,通过实际代码示例,展示了f... 目录引言 一.Java 8 Stream 的过滤器(filter)二.Java 8 的 filter、fi

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库