1、Paimon 1.0:Unified Lake Format for Data+AI李劲松(之信)阿里云智能开源湖存储负责人数据湖解决的问题流批一体的演进AI 方向的探索数据湖解决的问题2大数据框架百花齐放,数据链路多,搬移频繁,开发难,维护繁杂,资源成本也高如何在降本的大环境下让数据变得更实时,让业务获得实时数据来驱动业务决策13最近生成式人工智能太火了,大数据如何和 AI 产生点关系,如何融入 AI 基础设施来自大数据从业者的灵魂三问问题一:降本与实时兼得+流式湖仓Flink+Paimon 实现低成本离线数据加速 整体成本下降 50%湖存储替消息队列 状态计算融入存储 代价:时效一分钟问题
2、二:框架存储多难维护统一存储Paimon 面向流、批、OLAP 构建流批一体架构Apache Paimon 流批 OLAP 一体化 共享存储计算平权 口径一致开发简单问题三:大数据赋能 AIAI数据湖+AI开放生态提供 Python API 与 Object Table 等特性Object Table Python 解锁 AI 生态 对象表非结构化处理流批一体架构的演进流批割裂架构 流批割裂 开发成本批批批ApplicationDatabase流流流OLAPODSDWDDWS离线数仓:Spark 批读批写 Hive 表实时数仓:Flink 流读流写 Kafka+KV/OLAP统一流批计算 统一
3、计算SQL 编译统一计算引擎统一 口径一致 存储不统一表存储与 KafkaApplicationDatabase批批批流流流OLAP离线数仓:Flink 或 Spark 批读批写 Hive 表实时数仓:Flink 流读流写 Kafka+KV/OLAPODSDWDDWSODS 实时入湖 批链路时效性提升 ODS 数据实时可查 ODS 存储成本降低ApplicationDatabase批批流流OLAP离线数仓:Flink 或 Spark 批读批写 Hive 表实时数仓:Flink 流读流写 Kafka+KV/OLAPUnified ODSDWDDWS流ODS 分区标 Done当 ODS 层流式改造
4、之后,那什么时候开始调度批任务:当此分区结束后15分内没有新数据到达时流作业自动生成 Done 分区标识到元数据中CREATE TABLE my_partitioned_table(f0 INT,f1 INT,f2 INT,dt STRING)PARTITIONED BY(dt)WITH(partition.timestamp-formatter=yyyyMMdd,partition.timestamp-pattern=$dt,partition.time-interval=1 d,partition.idle-time-to-done=15 m,partition.mark-done-act
5、ion=done-partition);流式湖仓 存储成本降低 计算成本降低 全表实时可查 流读全量数据ApplicationDatabase批批流流离线数仓:Flink 或 Spark 批读批写 Hive 表流式湖仓:Flink 流读流写 PaimonUnified ODSDWDDWS流流式湖仓下还需要批链路吗?批计算的正确性批计算产出严格正确,但是流计算一般没有那么准确批计算的严肃性批计算要求可重入,输入不变,重复计算,数据不可变Branch:融合批和流的数据批的世界流的世界dt=11-20dt=11-21dt=11-22dt=11-23新增数据中dt=11-21dt=11-20dt=11
6、-22数据分析师主分支流分支Fallback流批一体 2.0:统一存储流流/批UnifiedDWDUnifiedDWS批分支流分支流/批批分支流分支 默认读批分支 回退到流分支 批分支真理源 流批融合隔离UnifiedODS流批一体湖仓:Flink 流批一体读写 PaimonSpark 批读批写 PaimonApplicationDatabase淘天流批一体的实践流量表产出时效提前40-60分钟流批一体开发和运维效率提升50%以上中间层实时数据可见,业务BI OLAP分析中间层去重降低下游重复消费和去重成本Paimon 存储使用HDFS,成本下降CDM层存储统一OLAP引擎数据产品数据服务商业