1 快速了解Paimon数据湖核心原理及架构

1.1 什么是Apache Paimon    

Apache Paimon的前身属于Flink的子项目:Flink Table Store。

目前业内主流的数据湖存储项目都是面向批处理场景设计的,在数据更新处理时效上无法满足流式数据湖的需求,因此Flink社区在2022年的时候内部孵化了 Flink Table Store (简称 FTS )子项目,一个真正面向流以及实时的数据湖存储项目。

Flink Table Store最开始是作为 Flink 的子项目加入了 Apache 社区的,由 Flink 团队主导研发,后期为了更好的发展,Flink Table Store作为独立项目重新加入 Apache。
在2023年3月12日,Flink Table Store项目顺利通过投票,正式进入 Apache孵化器,并且改名为 Apache Paimon (incubating),也可以简称为Paimon。

Apache Paimon 目前还属于incubating项目,表示正处于孵化阶段。


Apache Paimon的定位是一个流式数据湖平台,他提供了高速数据摄取、Changelog追踪、以及实时查询等能力。

这里面的数据摄取是指获取和导入数据的过程(或者说是读取和写入数据的过程)。


Apache Paimon提供了上层表抽象,使用方式和传统数据库类似。

  • 在批处理模式下,它就像一个Hive表,支持批处理 SQL的各种操作。查询的时候默认会查询最新快照中的数据。
  • 在流处理模式下,它就像一个消息队列。查询的时候就像从历史数据永不过期的消息队列中查询流更改日志一样。

1.2 Paimon的整体架构


Paimon的整体架构是这样的:

从这个图里面可以看出来,Paimon支持多种方式读写数据和执行OLAP查询。

在读取层面,他可以读取MySQL中的数据,以及消息队列中的数据。

在查询层面,Paimon除了可以和Flink进行交互,还可以和其他计算引擎进行交互,例如: Hive、Spark、Trino等引擎。


在底层,Paimon 会将列式文件存储在分布式文件系统中,例如HDFS、S3,并且内部使用LSM Tree这种数据结构来存储数据,所以可以支持大量数据更新和高性能查询。


1.3 Paimon的核心特点


Paimon主要包含下面这些核心特点:


1. 统一的批处理和流处理
Paimon支持批量写入、批量读取,流式写入、流式更新,以及流式读取。

2. 数据湖功能
作为数据湖存储系统,Paimon具有低成本、高可靠性、可扩展的元数据等特性。

3. 丰富的合并引擎
Paimon支持丰富的合并引擎,针对多条相同主键的数据,可以选择保留最后一条新数据、或者进行局部更新,或者进行聚合,都是可以支持的。

4. 自动生成变更日志
Paimon支持丰富的Changelog 生产者,可以自动从任何数据源生成正确完整的变更日志,简化流式任务的分析。

5. 丰富的表类型
Paimon可以支持主键表和仅追加表,主键表可以支持新增、更新和删除表中的数据。
仅追加表只能支持新增数据,但是可以提供有序的流式数据读取,进而可以替换消息队列。
同时Paimon中也支持内部表、外部表、分区表和临时表这些表类型。

6. 支持表结构变更同步(也可以称为Schema模式演变)
在向Paimon中同步数据时,当数据源表的表结构发生了变化的时候,Paimon可以自动识别并同步到这些变化。


1.4 Paimon支持的生态


Paimon最初来源于Flink,所以他和Flink的兼容度是最好的。

当然,除了Flink之外,他还支持Spark、Hive、Trino、Presto这些流行引擎的读写。

这里面还列出来了Paimon和这些引擎的版本兼容度,以及批量读取、批量写入、创建表、修改表、流式写入、流式读取、批量数据覆盖这些功能的支持情况。

还有一些引擎目前不支持和Paimon进行交互,不过已经正在开发中了:例如:Doris、Seatunnel、Starrocks等等。

更多Paimon数据湖内容请关注https://edu.51cto.com/course/35051.html

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

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

相关文章

C#查看启用或关闭的Windows功能

通过命令查看启用或关闭的Windows功能,以管理员身份打开powershell,输入命令get-windowsoptionalfeature -online 得出结果如下: 如果使用C#查看,需要先安装System.Management 代码如下: private void isInstall() …

已解决:rm: 无法删除“/opt/module/zookeeper-3.4.10/zkData/zookeeper_server.pid“: 权限不够

解决: ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Stopping zookeeper ... /opt/module/zookeeper-3.4.10/bin/zkServer.sh: 第 182 行:kill: (4149) - 不允许的操作 rm: 无法删除"/opt/module/zooke…

20231108在Ubuntu22.04下编译安装cmake-3.27.7.tar.gz

20231108在Ubuntu22.04下编译安装cmake-3.27.7.tar.gz 2023/11/8 17:28 缘起,编译cv180zb的时候提示说cmake的版本低! OBJCOPY platform/generic/firmware/payloads/test.bin OBJCOPY platform/generic/firmware/fw_dynamic.bin OBJCOPY platfor…

【FPGA】正确处理设计优先级--或许能帮你节省50%的资源

概述 假如现在有一种方法–可以在不怎么需要修改已有设计的情况下,就可以帮您节省50%的设计资源,那你会试试看吗? 当前市场环境下,更低廉的成本却可获得同等性能无疑是极具诱惑的。本文将介绍一种FPGA设计技术,该技术…

【Linux网络】2分钟学习centos7永久修改网卡名称

目录 第一步,先查看网卡名称 第二步:先修改配置文件/etc/default/grub,添加net.ifnemes0 第三步:重新加载内核配置grub2-mkconfig -o /boot/grub2/grub.cfg 第四步:重启电脑 第五步:查看网卡名称&…

微带线的ABCD矩阵的推导、转换与级联-Matlab计算实例

微带线的ABCD矩阵的推导、转换与级联-Matlab计算实例 散射参数矩阵有实际的物理意义,但是其无法级联计算,但是ABCD参数和传输散射矩阵可以级联计算,在此先简单介绍ABCD参数矩阵的基本用法。 1、微带线的ABCD矩阵的推导 其他的一些常用的二端…

应用在便携式多媒体播放器中的音频Codec芯片

便携式多媒体播放器(PMP,Portable Media Player),也就是通常人们所说的MP4。PMP的主要优点是:携带方便,能够直接播放高品质音/视频文件;也可以浏览图片,以及作为移动硬盘使用;此外,P…

【面试经典150 | 位运算】二进制求和

文章目录 Tag题目来源题目解读解题思路方法一:模拟 其他语言c 写在最后 Tag 【二进制】【位运算】 题目来源 67. 二进制求和 题目解读 以二进制字符串的形式返回两个二进制字符串的和。 解题思路 看到这个题目首先想到的方法可能是先把二进制字符转化成 int 型数…

内存管理

目录 C/C内存分布 引入 分析 说明 C语言内存管理方式:malloc calloc realloc free malloc realloc calloc 面试题 C内存管理方式 new/delete操作符 用法 new和delete操作自定义类型 operator new和operator delete函数 operator new ​编辑 operator…

H264 NALU分析

H264简介 H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准⾥称为H.264,在MPEG的标准⾥是MPEG-4的⼀个组成部分–MPEG-4 Part 10,⼜叫AdvancedVideo Codec,因此常常称为MPEG-4 AVC或直接叫…

一文概览NLP句法分析:从理论到PyTorch实战解读

本文全面探讨了自然语言处理(NLP)中句法分析的理论与实践。从句法和语法的定义,到各类句法理论和方法,文章细致入微地解析了句法分析的多个维度。最后,通过PyTorch的实战演示,我们展示了如何将这些理论应用…

云服务器哪家便宜靠谱 | 简单了解亚马逊云科技发展史

云服务器哪家便宜又靠谱呢?为什么说亚马逊云科技在这道题答案的第一行,一篇故事告诉你。 1994年,杰夫贝索斯在西雅图创建了亚马逊,最初只是一个在线书店。 1997年,亚马逊在纳斯达克交易所上市,成为一家公…

webpack的简单使用

什么是webpack(去官网看详细的API) 本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项…

Linux——手把手教你解决sudo指令无法使用的问题

解决sudo指令无法使用的问题 1. 为什么不能使用 sudo指令能够使某一条指令拥有root权限,即以root权限去执行 例如: sudo ls -l //就是以root权限查看当前目录里的内容但是,如果是新创建的普通账户,一般来说一开始是不能执行s…

访问控制列表

目录 ACL ACL原理 ACL包过滤方式 ACL通用命令 查看ACL表命令 删除整张表命令 接口配置ACL ACL分类 标准ACL 标准ACL的动作与条件 通配符掩码 扩展ACL 扩展ACL的动作与条件 命名ACL 前言 书写方式 ACL 含义:访问控制列表,其是一种包过滤…

计算机基础知识49

三板斧的使用(views.py) 三个方法:HttpResponse: 返回的是字符串render : 返回html文件redirect : 返回加载HTML页面的 def html(request):print(from html)# return HttpResponse(request) # 它返回的是字符串return render(request,html.html) # 返回html# ret…

Jenkins CICD过程常见异常

1 Status [126] Exception when publishing, exception message [Exec exit status not zero. Status [126] 1.1 报错日志 SSH: EXEC: STDOUT/STDERR from command [/app/***/publish.sh] ... bash: /app/***/publish.sh: Permission denied SSH: EXEC: completed after 200…

媒体转码软件Media Encoder 2024 mac中文版功能介绍

Media Encoder 2024 mac是一款媒体转码软件,它可以将视频从一种格式转码为另一种格式,支持H.265、HDR10等多种编码格式,同时优化了视频质量,提高了编码速度。此外,Media Encoder 2024还支持收录、创建代理和输出各种格…

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群 Redis 的多种模式Redis-Alone 单机模式Redis 单机模式的优缺点 Redis 高可用集群模式Redis-Master/Slaver 主从模式Redis-Master/Slaver 哨兵模式哨兵模式监控的原理Redis 节点主客观下线标记Redis 节点主客观…

使用Nginx和Spring Gateway为SkyWalking的增加登录认证功能

文章目录 1、使用Nginx增加认证。2、使用Spring Gateway增加认证 SkyWalking的可视化后台是没有用户认证功能的,默认下所有知道地址的用户都能访问,官网是建议通过网关增加认证。 本文介绍通过Nginx和Spring Gateway两种方式 1、使用Nginx增加认证。 生…