一图读懂: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679323.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpaceX: 太空火箭自主精准着陆

本文是根据Lars Blackmore在16年的一篇公开论文翻译而来,虽然有些早而且是科普文章,但是可以初见一些SpaceX火箭着陆的细节,后面我会对spaceX landing control 技术主管MIT博士期间研究火箭控制算法的论文进行讲解,敬请期待。 Lar…

【数据结构】二叉搜索树--BST,Binary Search Tree

文章目录 二叉搜索树1. 二叉搜索树的概念2. 二叉搜索树的接口2.1 查找非递归查找递归查找 2.2 中序遍历2.3 插入非递归插入递归插入 2.4 删除非递归删除递归删除 3. 二叉搜索树的应用key搜索模型kv搜索模型 5. oj题 二叉搜索树 1. 二叉搜索树的概念 二叉搜索树又称二叉排序树…

2021 hnust 湖科大 操作系统课设 报告+原代码+指导书+流程图源文件

2021 hnust 湖科大 操作系统课设 报告原代码指导书流程图源文件 详情 目录 验证类实验: 1 实验一:Windows进程管理 1 一、 实验题目: 1 二、 实验目的 1 三、 实验内容 1 四、 实验结果与分析 2 五、 小结与心得体会 5 实验二:L…

团队项目开发使用git工作流(IDEA)【精细】

目录 开发项目总体使用git流程 图解流程 1.创建项目仓库[组长完成] 2. 创建项目,并进行绑定远程仓库【组长完成】 3.将项目与远程仓库(gitee)进行绑定 3.1 创建本地的git仓库 3.2 将项目添加到缓存区 3.3 将项目提交到本地仓库&#…

【光谱特征选择】连续投影算法SPA(含python代码)

目录 一、背景 二、代码实现 三、项目代码 一、背景 连续投影算法(Successive Projection Algorithm,SPA)是一种用于光谱分离的简单且有效的算法。它主要应用于高光谱图像处理,用于提取混合光谱数据中的端元(endme…

从1.0到4.0,看看你公司的费控模式是第几代?

早在2021年9月,艾媒咨询在《2021H1企业费控报销服务专题研究报告》中,第一次对企业费用管控模式的进化历程进行了清晰的划代:1.0手工模式、2.0网报模式、3.0移动报销模式、4.0智能费控模式。 2022年,在《中国企业费用管理发展白皮…

边缘计算网关:企业数字化转型的重要支撑-天拓四方

在数字化浪潮席卷全球的今天,企业对于数据处理和传输的需求日益增强。然而,传统的数据处理模式往往依赖于中心化的数据中心,这种方式在处理大量数据时存在延迟高、成本高、安全性差等问题。数据量的激增和实时性要求的提高,使得传…

6个迹象表明你的电脑电缆管理很糟糕,看下你有没有中招

​清理电脑内部的电缆可能看起来像是徒劳的忙碌。毕竟,如果一切都正常,为什么还要麻烦呢?好吧,我有六个很好的理由可以说服你打开你的机箱,修复你电脑里的混乱。 你很难打开侧板 如果你的电缆离侧板的边缘太近,你将无法毫不费力地将它们滑开。虽然这不是你每天都要做的…

AUTOSAR术语表

AUTOSAR术语表 下面所有的缩写词汇均来自AUTOSAR官方资料AUTOSAR_TR_GLOSSARY.pdf,平常工作中遇到不知道意思的缩略词,编写代码取名称时都可以参考这个术语表。

vscode搭建esp-idf的esp32开发环境

一、安装esp-idf-tools-setup-offline-4.4.7 https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32/get-started/windows-setup.html 二、vscode安装插件 ESP-IDF 安装完成点击左侧的图标 会自动查找系统中安装的ESP-IDF 自动完成配置 不成功的话 试着完成下面的操作…

Ubuntu server 24 (Linux) sudo 免输密码

1 sudo 使用要输入密码,费时费力。 2 sudo命令免输密码,需要修改/etc/sudoers文件 #本文以test用户为例,#允许不需要输入密码执行 sudo vi /etc/sudoers test ALL(ALL) NOPASSWD: ALL %sudo ALL(ALL:ALL) ALL --> #%sudo ALL(ALL:ALL) ALL#所有…

使用Python操作Redis

大家好,在当今的互联网时代,随着数据量和用户量的爆发式增长,对于数据存储和处理的需求也日益增加。Redis作为一种高性能的键值存储数据库,以其快速的读写速度、丰富的数据结构支持和灵活的应用场景而备受青睐。本文将介绍Redis数…

【猫狗识别系统】图像识别Python+TensorFlow+卷积神经网络算法+人工智能深度学习

猫狗识别系统。通过TensorFlow搭建MobileNetV2轻量级卷积神经算法网络模型,通过对猫狗的图片数据集进行训练,得到一个进度较高的H5格式的模型文件。然后使用Django框架搭建了一个Web网页端可视化操作界面。实现用户上传一张图片识别其名称。 一、前言 …

[第五空间 2021]WebFTP、[HCTF 2018]Warmup

目录 [第五空间 2021]WebFTP ​[SWPUCTF 2021 新生赛]Do_you_know_http [NCTF 2018]签到题 [HNCTF 2022 Week1]What is Web [HNCTF 2022 Week1]Interesting_http [HCTF 2018]Warmup [第五空间 2021]WebFTP 使用dirsearch扫描,发现有git泄露 使用GitHack克隆目…

Docker以挂载方式安装RocketMQ

Docker 挂载安装RocketMQ Docker 挂载安装RocketMQ安装 Docker安装NameServer1.拉取容器2.创建NameServer容器3.查看容器状态4.补充配置4.1交互模式启动Docker容器4.2编辑broker.config4.2插入brokerIP1配置 安装Broker安装RocketMQ-console构建镜像启动容器开通安全组策略访问…

【Godot4自学手册】第四十一节背包系统(一)UI设置

各位同学,好久没有更新笔记了,今天开始,我准备自学背包系统。今天先学习下UI界面设置。 一、新建场景和结点 1.新建Node2D场景,命名为Inventory,保存到Scenes目录下,inventory.tscn。 2.新建TextureRect子…

寒武纪:“国产平替”道阻且长

英伟达的一季报反映了AI装备竞赛白热化,科技巨头们正疯狂加码投资。 不过,因为众所周知的原因,英伟达最先进的产品卖不到国内,虽然说一定程度上限制了咱们AI的发展,但也给国产AI芯片公司们提供了机会,其中就包括我们今…

HCIA--VLAN实验(复习)

实验要求: 1.PC1/2/5 在vlan2,PC3/4/6在vlan3. 2.SW1、SW2之间,SW1、R1之间 为trunk干道, 3.PC不配地址,通过DHCP获取地址 实验思路: 1.在SW上创建vlan,在对应接口划分vlan 2.SW1、SW2,SW…

掌握 NestJS 10.x:NestJS 结合 PostgreSQL 使用详解

NestJS 是一个用于构建高效、可扩展的 Node.js 服务端应用的框架。结合 PostgreSQL 数据库,可以为应用提供强大的数据存储和查询功能。本文将详细介绍如何在 NestJS 项目中集成和使用 PostgreSQL,并创建一个包含增加用户接口的完整示例。 1. 安装必要的依赖 首先,确保你的…