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

news2024/11/23 23:02:38

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.coloradmin.cn/o/1183655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang Windows系统使用make build

gcc -v 找到上面mingw64/bin目录,复制mingw32-make.exe一份,改成make.exe ,即可。

9.spark自适应查询-AQE之动态调整Join策略

目录 概述动态调整Join策略原理实战 动态优化倾斜的 Join原理实战 概述 broadcast hash join 类似于 Spark 共享变量中的广播变量,Spark join 如果能采取这种策略,那join 的性能是最好的 自适应查询AQE(Adaptive Query Execution) 动态调整Join策略 原…

金蝶云星空单据转换下推时上游单据的主键和明细主键获取和保存

文章目录 金蝶云星空单据转换下推时上游单据的主键和明细主键获取和保存产品序列号对照表增加字段创建单据转换插件在单据转换规则注册插件测试 金蝶云星空单据转换下推时上游单据的主键和明细主键获取和保存 比如:售后单下推对照表,是一对一&#xff0…

(深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会

hi,同学们,我是赤辰 7月份的时候,Open AI就找来了一位全球顶级的华人产品经理Peter Deng,要给这个技术很强但交互很差ChatGPT动一番大手术。 在11月7日凌晨2点,终于等到了Open AI发布的首届开发者大会,也被…

Vb6 TCP Server服务端监听多个RFID读卡器客户端上传的刷卡数据

本示例使用设备介绍:WIFI无线4G网络RFID云读卡器远程网络开关物流网阅读器TTS语音-淘宝网 (taobao.com) Option ExplicitConst BUSY As Boolean False 定义常量 Const FREE As Boolean TrueDim ConnectState() As Boolean 定义连接状态 Dim ServerSendbuf(…

超级好用的几个工具

JamTools JamTools是一个全平台支持的小工具集软件,可用于Windows 7/8/10/11、MacOS、Ubuntu等系统(其他系统可自行编译源码进行打包)。该工具集包含了多项实用功能,如滚动/区域截屏、录屏、文字识别、多语言互译、多媒体格式转换…

计算机网络——物理层-物理层的基本概念、物理层下面的传输媒体

目录 物理层的基本概念 传输媒体 物理层的基本概念 在计算机网络中,用来连接各种网络设备的传输媒体种类众多。大致可以分为两类。一类是导引型传输媒体,另一类是非导引型传输媒体。 在导引型传输媒体中,常见的有双绞线、同轴电缆、光纤。…

Qt开发流程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

是时候和 Confluence 说再见了

作为最早为 Confluence 中文化提供服务的社区,我们也面临着最后的时间了。 Confluence 已经不再为用户签发开源许可证了,这意味着在今年许可证到期后,我们要不就需要把所有数据迁移到 Confluence 云平台上。 要不就自己部署完整的云平台服务…

Apache Airflow (一) : Airflow架构及

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…

three.js点滴yan(整理后)

场景、相机和渲染器 Three.js整个系统主要包含场景Scene、相机Camera和WebGL渲染器WebGLRenderer三大块,其中场景又包含模型和光源。WebGL渲染器的主要作用就是把相机对应场景渲染出来,显示在网页Cnavas画布上。 Three.js源码 Three.js各个构造函数对应…

YOLO目标检测——交通标志检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:交通标志识别数据集在自动驾驶、交通安全监控、智能交通系统、驾驶员辅助系统和城市规划等领域都有广泛应用的潜力数据集说明:交通标志识别数据集,真实场景的高质量图片数据,数据场景丰富,含有交通标识3类…

使用Streamlit创建AutoGen用户界面

AutoGen作为一个最大化LLM(如GPT-4)能力的框架而脱颖而出。由微软研究院开发的AutoGen通过提供一种自动化、优化和编排工作流的方法,简化了复杂的、基于多代理llm的应用程序的创建。我们在以前的文章中也有过介绍,你可以与许多GPT交谈,并且GP…

GPU推理提速4倍!FlashDecoding++技术加速大模型推理

推理大模型(LLM)是AI服务提供商面临的巨大经济挑战之一,因为运营这些模型的成本非常高。FlashDecoding 是一种新的技术,旨在解决这一问题,它通过提高LLM推理速度和降低成本,为使用大模型赚钱提供了新的可能…

从F5 BIG-IP RCE漏洞(CVE-2023-46747)来看请求走私的利用价值

0x01 前言 F5 BIG-IP广域流量管理器是一种网络流量管理设备,用于提升链路性能与可用性。F5在金融行业具有特别广泛的使用量,做过各大银行攻防演练的小伙伴对这个系统应该不会陌生。 最近爆出的CVE-2023-46747漏洞能达到远程RCE的效果,属于严重…

浅谈消防设备电源监控系统在大型建筑内的应用

【摘要】:当建筑内火灾发生时,各类消防设备能否正常运行、能否发挥作用是初期火灾扑救是否成功的重要条件之一,而稳定可靠的消防设备电源则是消防设备正常工作的保障。因此针对消防设备电源的监测系统至关重要。 【关键词】:消防…

Python 既是解释型语言,也是编译型语言

哈喽大家好,我是咸鱼 不知道有没有小伙伴跟我一样,刚开始学习 Python 的时候都听说过 Python 是一种解释型语言,因为它在运行的时候会逐行解释并执行,而 C 这种是编译型语言 不过我今天看到了一篇文章,作者提出 Pytho…

5G与物联网应用:新一代网络技术融合开创新时代

5G与物联网应用:新一代网络技术融合开创新时代 随着信息技术的不断演进,5G和物联网作为新一代网络技术,正在引领我们走向一个更加智能化、互联互通的新时代。本文将分析5G与物联网应用的技术原理、应用场景与发展趋势,并探讨它们…

使用 matlab 的 Robotics ToolBox 完成5自由雄克机械臂的建模与运动学仿真,并计算8个点的运动轨迹,绘制运动动画

机器人包含5个关节,建立以下的DH参数表 matlab代码 %机器人学导论仿真大作业(RTB) clear clc h figure; axis tight manual filename SchunkRobot_Simulation.gif;%Schunk机械臂参数的输入 L10.35; L20.305; L30.3;%DH参数建立 Joint1 L…

TextMate v2.0.23(文本编辑器)

Mac上好用的文本编辑器是哪个?TextMate 2 mac版是Macos上一款文本编辑器,支持大量编程语言并作为开源开发。该软件与“BBEdit”并成为苹果电脑上的EMACS和vim,对于程序员来说非常的适合,可以定制许多贴心的功能。为专业脚本编写者…