ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

数据湖Paimon 1.4.2 从理论到实践 —— 第 1 章 Paimon 概览与湖仓一体

数据湖Paimon 1.4.2 从理论到实践 —— 第 1 章 Paimon 概览与湖仓一体 数据湖Paimon 1.4.2 从理论到实践 —— 第 1 章 Paimon 概览与湖仓一体课程定位本系列教程以Paimon 1.4.2为核心湖存储格式Flink 1.20.3为流批一体计算引擎Doris 4.1为 OLAP 查询层构建湖存储 流批计算 实时查询的湖仓一体技术体系从原理到生产落地全链路实战。版本基线Paimon 1.4.2 Flink 1.20.3 Doris 4.1 JDK 8/11/17章节导读1.1 数据湖与湖仓一体1.2 Paimon 是什么三大支柱定位1.3 Paimon vs Iceberg / Hudi / Delta1.4 Paimon 版本演进与 1.4.x 新特性1.5 Paimon Flink Doris 技术栈协作1.6 本章小结1.1 数据湖与湖仓一体1.1.1 数据湖的诞生与痛点传统数仓架构下数据流转路径长、成本高业务库 MySQL ──► ETL ──► 数据仓库(Doris/Hive) ──► BI/报表 │ └──► 数据湖(HDFS/OSS 原始文件) ──► 机器学习问题说明存储成本高数仓按列存格式存储全量数据入库成本高数据孤岛数仓与数据湖两套存储数据需要反复搬运实时性差离线 T1 入库无法满足秒级查询需求更新困难Hive 等批式存储不支持行级更新Schema 僵化数仓表结构变更成本高难以应对业务快速变化数据湖Data Lake解决了存得下、存得起的问题——把所有原始数据以低成本格式Parquet/ORC存到对象存储但引入了新问题没有事务并发读写容易脏读不支持更新/删除无法应对 CDC 场景没有 Schema 管理数据质量差“数据沼泽”查询性能弱没有索引全表扫描慢。1.1.2 湖仓一体Lakehouse湖仓一体 数据湖的低成本存储 数仓的管理能力事务/更新/Schema/索引。┌─────────────────────┐ │ Lakehouse 存储层 │ │ (Paimon / Iceberg) │ │ 对象存储 元数据 │ └─────────┬───────────┘ │ ┌─────────────────┼─────────────────┐ ▼ ▼ ▼ Flink(流批) Spark(批处理) Doris(OLAP) │ │ │ ▼ ▼ ▼ 实时计算 离线分析 即席查询湖仓一体的核心能力能力说明ACID 事务支持并发读写、原子提交行级更新/删除支持 CDC 实时入湖Schema 演进加列/改类型/改名不影响历史数据Time Travel按时间/版本回溯历史数据索引加速BloomFilter / Bitmap / 排序加速查询多引擎共享Flink / Spark / Hive / Doris / Trino 均可读写流批一体同一份存储流式写入 批式查询一句话理解湖仓一体就是把数仓的管理能力下沉到数据湖的存储格式中让一份数据既能低成本海量存储又能像数仓一样被高效管理和查询。1.2 Paimon 是什么三大支柱定位Apache Paimon 是一款流批一体的湖存储格式Lakehouse Format其定位是下一代数据湖存储底座。根据官网 1.4 版本定义Paimon 有三大支柱能力1.2.1 大规模数据湖Large-Scale Data Lake面向海量数据的高效存储与查询能力说明Time Travel按 snapshot-id / timestamp / tag 回溯任意历史版本快速 Scan 规划File IndexBloomFilter、Bitmap、Range Bitmap 三级索引跳过无关文件Schema Evolution加列、改名、删列、改类型自动兼容历史数据丰富生态Flink / Spark / Hive / Trino / Presto / StarRocks / Doris 均可读写Incremental Clustering增量排序z-order / hilbert / order持续优化查询性能1.2.2 实时数据湖Realtime Data Lake面向实时 CDC 入湖与流式更新场景能力说明Primary Key Table LSM基于 LSM Tree 实现高效主键更新多种 Merge EngineDeduplicate去重、Partial Update部分列更新、Aggregation聚合、First Row首行保留多种表存储模式MOR读时合并、COW写时复制、MOW写时合并 Deletion VectorChangelog ProducerNone / Input / Lookup / Full Compaction产出完整变更流供下游消费CDC Ingestion原生支持 MySQL / Kafka / MongoDB / Pulsar / PostgreSQL 实时入湖1.2.3 多模态数据湖Multimodal Data Lake—— 1.4 新增面向 AI 与多模态数据的统一存储能力说明Blob Table支持图片、视频、文档等非结构化大对象存储Vector IndexLumina DiskANN向量索引支持高效相似度检索Global IndexBTree 标量索引 向量索引联合查询Data Evolution行级部分列更新适配特征工程场景PyPaimonPython SDK与 PyTorch / Ray 等 AI 生态集成1.2.4 Paimon 的一句话定位Paimon LSM 树结构的湖存储格式既保留了数据湖的低成本与开放性又通过 LSM 主键表实现了数仓级的实时更新与查询能力是湖仓一体架构的核心存储底座。1.3 Paimon vs Iceberg / Hudi / Delta目前主流的湖格式有四家Paimon、Apache Iceberg、Apache Hudi、Delta Lake。它们都实现了湖仓一体但设计侧重不同。1.3.1 核心差异对照表维度PaimonIcebergHudiDelta存储结构LSM Tree分层快照 Manifest扁平HFile LogParquet JSON Log主键更新✅ 原生强支持LSM⚠️ 需合并文件✅ 支持MOR/COW✅ 支持实时入湖✅ 原生 CDC Pipeline⚠️ 需配合 Flink CDC✅ 强支持⚠️ 较弱Changelog 流✅ 完整 Changelog Producer⚠️ 部分支持✅ 支持❌部分列更新✅ Partial Update 引擎❌✅⚠️聚合引擎✅ Aggregation 引擎❌⚠️ 部分❌批查询性能强File Index强Manifest 索引中强流查询性能强LSM 增量中强弱向量索引1.4✅ DiskANN❌❌❌AI 生态1.4✅ PyPaimon Blob⚠️❌⚠️生态成熟度快速崛起最成熟成熟绑定 Spark国内社区活跃阿里主导活跃活跃一般1.3.2 选型建议场景推荐实时 CDC 入湖 流批一体PaimonLSM Changelog 是最大优势纯批式数仓ETL 为主Iceberg生态最成熟高并发更新 增量查询HudiMOR 模式Spark 生态绑定DeltaAI 多模态 向量检索Paimon 1.4Blob Vector Index核心结论如果你的场景涉及实时 CDC 入湖、流式更新、流批一体Paimon 是当前最优选择如果是纯离线批处理Iceberg 生态更成熟。本教程聚焦 Paimon 的实时湖仓能力。1.4 Paimon 版本演进与 1.4.x 新特性1.4.1 版本演进时间线版本时间关键特性0.1 ~ 0.62022孵化期基础 LSM 主键表0.72023.01合并引擎、Schema Evolution0.82023.05Flink CDC 整库同步、Partial Update1.02023.07毕业成为 Apache 顶级项目生产可用1.12023.11Sequence Field、Lookup Changelog1.22024.05Aggregation 引擎、文件索引优化1.32024.11多 Catalog、REST Catalog1.42025.06多模态Blob Table / Vector Index / Data Evolution / PyPaimon1.4.2 Paimon 1.4 核心新特性1.4 是 Paimon 走向多模态数据湖的里程碑版本关键特性如下① Blob Table非结构化数据存储CREATETABLEimage_blob(idBIGINTPRIMARYKEYNOTENFORCED,name STRING,imageBLOB)WITH(blobtrue);支持图片、视频、文档等大对象与结构化数据统一存储解决 AI 训练数据集的管理问题。② Vector IndexLumina DiskANN 向量索引CREATETABLEimage_embedding(idBIGINT,embeddingFLOATARRAY)WITH(vector-index{name:vec_index,type:diskann,dimension:768});基于 DiskANN 算法支持亿级向量的毫秒级检索与 Global Index 联合实现标量过滤 向量检索混合查询适配 AI 场景的相似度检索需求。③ Data Evolution行级部分列更新支持按行更新指定列不影响其他列适配特征工程场景多源特征合并到同一行。④ PyPaimonPython SDKfrompypaimonimportPaimonCatalog catalogPaimonCatalog({warehouse:/path/to/warehouse})tablecatalog.get_table(db,image_embedding)table.write([(1,[0.1,0.2,...])])与 PyTorch / Ray 等 AI 框架无缝集成支持 Python 直接读写 Paimon。1.4.3 为什么选择 1.4.2生产稳定1.4 系列经过 1.4.0 → 1.4.1 → 1.4.2 三个小版本修复生产稳定性高多模态能力完整Blob / Vector Index / PyPaimon 全部 GA与 Flink 1.20 兼容paimon-flink-1.20组件完整支持Doris 联邦查询稳定Doris 4.1 对 Paimon 1.4 的 Catalog 对接已完善。1.5 Paimon Flink Doris 技术栈协作本教程的核心技术组合是Paimon存储 Flink计算 Doris查询三者各司其职、互补协作。1.5.1 三者定位组件角色核心职责Paimon 1.4.2湖存储格式数据持久化、事务、更新、索引、元数据管理Flink 1.20.3流批一体计算引擎CDC 入湖、流式 ETL、批式处理、Changelog 消费Doris 4.1OLAP 查询引擎实时即席查询、联邦查询 Paimon、热数据加速1.5.2 协作架构图┌────────────────────────────────────────────────────────────┐ │ 湖仓一体技术栈 │ └────────────────────────────────────────────────────────────┘ 业务库 MySQL ──CDC──► Flink 1.20.3 ──写入──► Paimon 1.4.2 Kafka 消息 ─────────► (CDC入湖/ETL) (湖存储,LSM) │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ Flink批式查询 Doris 4.1 Spark/Hive (离线分析) (联邦查询) (离线分析) │ ▼ BI / 大屏1.5.3 典型数据流1. 实时入湖 MySQL Binlog ──► Flink CDC ──► Paimon ODS 表主键表LSM 更新 2. 流式加工 Paimon ODS ──► Flink 流读(Changelog) ──► 清洗/Join ──► Paimon DWD 表 3. 实时查询 Paimon DWD ──► Doris Catalog 联邦查询 ──► BI 大屏 热数据可入 Doris 内部表加速 4. 离线分析 Paimon 全量表 ──► Flink/Spark 批读 ──► 报表/模型训练1.5.4 为什么需要 DorisPaimon 本身支持查询但实时 OLAP 查询性能不如 Doris。两者组合实现冷热分层数据温度存储查询引擎延迟热数据近 7 天Doris 内部表Doris亚秒级冷数据全量历史PaimonDoris 联邦查询秒级Doris 4.1 通过 Catalog 直接查询 Paimon无需数据搬迁实现一份数据、多种查询。1.6 本章小结本章建立了对 Paimon 的整体认知湖仓一体 数据湖的低成本存储 数仓的管理能力事务/更新/Schema/索引解决传统数仓成本高、数据孤岛、实时性差的问题。Paimon 三大支柱大规模数据湖Time Travel、File Index、Schema Evolution、Incremental Clustering实时数据湖LSM 主键表 四种 Merge Engine MOR/COW/MOW Changelog Producer多模态数据湖1.4 新增Blob Table、Vector Index、Data Evolution、PyPaimon。与其他湖格式对比Paimon 在实时 CDC 入湖、流批一体、多模态场景优势明显Iceberg 适合纯批处理Hudi 适合高并发更新。1.4.2 版本多模态能力 GA与 Flink 1.20.3、Doris 4.1 兼容性好适合生产落地。技术栈协作Paimon存储 Flink计算 Doris查询各司其职冷热分层是湖仓一体的黄金组合。下一章预告第 2 章《Paimon 核心原理深入》将深入讲解 LSM Tree 存储结构、表模型、Merge Engine、表存储模式、Changelog Producer 等核心机制为后续实战打下理论基础。参考资料Paimon 1.4 官方文档https://paimon.apache.org/docs/1.4/Paimon 1.4 发布说明https://paimon.apache.org/blog/2025/06/25/paimon-1.4.0-release/Apache Paimon GitHubhttps://github.com/apache/paimonDoris 4.1 联邦查询 Paimonhttps://doris.apache.org/docs/lakehouse/multi-catalog/paimon/Flink 1.20 官方文档https://nightlies.apache.org/flink/flink-docs-release-1.20/本文是《Apache Paimon 1.4.2 从理论到实践》系列教程的第 1 章后续章节将持续更新欢迎关注收藏。
返回列表