Apache Paimon系列之:认识Paimon

Apache Paimon系列之:认识Paimon

  • 一、认识Paimon
  • 二、统一存储
  • 三、基本概念
    • 1.文件布局
    • 2.Snapshot
    • 3.清单文件
    • 4.数据文件
    • 5.分区
    • 6.一致性保证

一、认识Paimon

Apache Paimon的架构:
在这里插入图片描述
如上架构所示:

读/写:Paimon 支持多种读/写数据和执行 OLAP 查询的方式。

  • 对于读取,它支持消费数据
    • 从历史快照(批处理模式),
    • 从最新的偏移量(在流模式下),或
    • 以混合方式读取增量快照。
  • 对于写入,它支持
    • 来自数据库变更日志的流同步(CDC)
    • 从离线数据批量插入/覆盖。

生态系统:除了Apache Flink之外,Paimon还支持Apache Hive、Apache Spark、Trino等其他计算引擎的读取。

内部的:

  • 在底层,Paimon 将列式文件存储在文件系统/对象存储上
  • 文件的元数据保存在manifest文件中,提供大规模存储和数据跳过。
  • 对于主键表,采用LSM树结构,支持大数据量更新和高性能查询。

二、统一存储

对于 Apache Flink 这样的流引擎,通常有三种类型的连接器:

  • 消息队列,例如 Apache Kafka,在该管道的源阶段和中间阶段都使用它,以保证延迟保持在秒级。
  • OLAP系统,例如ClickHouse,它以流方式接收处理后的数据并服务用户的即席查询。
  • 批量存储,例如Apache Hive,它支持传统批处理的各种操作,包括INSERT OVERWRITE。

Paimon 提供表抽象。它的使用方式与传统数据库没有什么区别:

  • 在批处理执行模式下,它就像一个Hive表,支持Batch SQL的各种操作。查询它以查看最新的快照。
  • 在流执行模式下,它的作用就像一个消息队列。查询它的行为就像从历史数据永不过期的消息队列中查询流更改日志。

三、基本概念

1.文件布局

一张表的所有文件都存储在一个基本目录下。 Paimon 文件以分层方式组织。下图说明了文件布局。从快照文件开始,Paimon 读者可以递归地访问表中的所有记录。

在这里插入图片描述

2.Snapshot

所有快照文件都存储在快照目录中。

快照文件是一个 JSON 文件,包含有关此快照的信息,包括

  • 正在使用的模式文件
  • 包含此快照的所有更改的清单列表

快照捕获表在某个时间点的状态。用户可以通过最新的快照来访问表的最新数据。通过时间旅行,用户还可以通过较早的快照访问表的先前状态。

3.清单文件

所有清单列表和清单文件都存储在清单目录中。

清单列表是清单文件名的列表。

清单文件是包含有关 LSM 数据文件和更改日志文件的更改的文件。例如对应快照中创建了哪个LSM数据文件、删除了哪个文件。

4.数据文件

数据文件按分区分组。目前,Paimon 支持使用 orc(默认)、parquet 和 avro 作为数据文件格式。

5.分区

  • Paimon 采用与 Apache Hive 相同的分区概念来分离数据。
  • 分区是一种可选方法,可根据日期、城市和部门等特定列的值将表划分为相关部分。每个表可以有一个或多个分区键来标识特定分区。
  • 通过分区,用户可以高效地操作表中的一片记录。

6.一致性保证

Paimon 编写器使用两阶段提交协议以原子方式将一批记录提交到表中。每次提交在提交时最多生成两个快照。

对于任意两个同时修改表的写入者,只要他们不修改同一分区,他们的提交就可以并行发生。如果他们修改同一分区,则仅保证快照隔离。也就是说,最终表状态可能是两次提交的混合,但不会丢失任何更改。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis 实体类类型参数传入sql语句

1.Mapper接口中抽象方法的声明&#xff0c;将实体信息传入到数据库表中。 int insertEmployee(Employee employee);2.SQL语句 <insert id"insertEmployee">insert into t_emp(emp_name,emp_salary) values(#{empName},#{empSalary}) </insert>3.对应关…

媒体单位专用小记者报名及各类活动报名系统介绍

媒体单位专用小记者报名及各类活动报名系统介绍 小记者活动鼓励孩子们关注生活和社会&#xff0c;丰富成长体验&#xff0c;开启心智&#xff0c;淬砺思想。这不仅有助于提高他们的理性思辨力&#xff0c;还能培养他们的社会责任感和公民意识。小记者活动为学生提供了一个全新…

C语言易错知识点:scanf函数

scanf在C语言学习中比较常用&#xff0c;但因为其涉及屏幕缓冲区导致有的时候会调入陷阱&#xff0c;下面分享一下常见的需要注意的事项&#xff1a; 1.输入末尾带有回车\n 当我们输入数据后&#xff0c;最后按下回车时&#xff0c;屏幕缓冲区的末尾都会含有这个字符 scanf的…

String类及其常用方法

文章目录 1.String类的特性与使用1.1 String类的特性1.2 String对象的创建方式1.3 String 的使用&#xff08;不同的拼接操作&#xff09; 2.String常用方法2.1 String的常用方法一2.2 String常用方法二2.3 String常用方法三 1.String类的特性与使用 1.1 String类的特性 Stri…

Linux常用操作命令

Linux常用操作命令 1.文件管理catfile 2.文档编辑3.文件传输4.磁盘管理5.磁盘维护6.网络通讯7.系统管理8.系统设置9.备份压缩10.设备管理 Linux 英文解释为 Linux is not Unix。 Linux内核最初只是由芬兰人李纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上…

高铁列车员信息宣传向媒体投稿有哪些方法?

作为一名高铁列车工作人员,我肩负着传递高铁精神、展示列车员风采的重要使命。每月,我都要完成单位对外信息宣传的考核任务,通过媒体投稿来发表列车员的信息宣传文章。在这条信息宣传之路上,我经历了从摸着石头过河到智慧投稿的蜕变,其中的心酸与轻松交织,成为了我职业生涯中难…

值得收藏的Python字符串操作大总结!

今天给大家总结一下字符串的所有操作&#xff0c;string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等。 去空格及特殊符号 s.strip().lstrip().rstrip(,) 复制字符串 #strcpy(sStr1,sStr2) sStr1 strcpy sStr2 sStr1 sStr1 strcpy2 print sStr2 连…

【WSN覆盖优化】基于改进黏菌算法的无线传感器网络覆盖 WSN覆盖优化【Matlab代码#65】

文章目录 【可更换其他算法&#xff0c;获取资源请见文章第5节&#xff1a;资源获取】1. 改进SMA算法1.1 改进参数p1.2 混沌精英突变策略 2. WSN节点感知模型3. 部分代码展示4. 仿真结果展示5. 资源获取 【可更换其他算法&#xff0c;获取资源请见文章第5节&#xff1a;资源获取…

netty草图笔记

学一遍根本记不住&#xff0c;那就再学一遍 public static void test_nettyFuture() {NioEventLoopGroup group new NioEventLoopGroup();log.info("开始提交任务");Future<String> future group.next().submit(() -> {log.info("执行异步任…

6.Java并发编程—深入剖析Java Executors:探索创建线程的5种神奇方式

Executors快速创建线程池的方法 Java通过Executors 工厂提供了5种创建线程池的方法&#xff0c;具体方法如下 方法名描述newSingleThreadExecutor()创建一个单线程的线程池&#xff0c;该线程池中只有一个工作线程。所有任务按照提交的顺序依次执行&#xff0c;保证任务的顺序性…

代码随想录-java-栈与队列总结

栈&#xff08;Stack&#xff09;&#xff1a;是只允许在一端进行插入或删除的线性表。栈是一种线性表&#xff0c;限定这种线性表只能在某一端进行插入和删除操作。进行操作的这一端称为栈顶。 队列&#xff08;Queue&#xff09;是只允许在一端进行插入操作&#xff0c;而在另…

会禁止直播带货吗?

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 种种迹象表明&#xff1a;直播带货已经到了被抑制的阶段&#xff0c;提高线上购物成本&#xff0c;促进消费回归线下实体&#xff0c;好像是主流声音了。 (1)“稳定和扩大传统消费”早就写在了中央经济工作会议和政…