新手组合 - StreamPark + Paimon 的最佳实践 - Paimon 的核心功能
在经过对 Apache Hudi / Iceberg / Paimon 几个数据湖框架的调研和综合评估之后,我们决定使用 Apache Paimon,Apache Paimon 是一项流式数据湖存储技术,可以为用户提供高吞吐低延时的数据摄入,流式订阅和实时查询能力,支持使用 Flink 和 Spark 构建实时 Lakehouse 架构,支持批/流数据处理操作,创新性地将 Lake 格式与 LSM 结构相结合,将实时流式更新引入 Lake 架构中,具有以下优点:
-
统一的批处理和流处理:Paimon 支持批量写入、批量读取和流式操作,提供了灵活的数据处理方式。 数据湖功能:作为数据湖存储系统,Paimon 具有低成本、高可靠性和可扩展的元数据等特性。
丰富的合并引擎:Paimon 提供了多种合并引擎,可以根据需求选择保留最新数据、进行局部更新或进行聚合操作。
自动生成变更日志:Paimon 支持多种 Changelog 生产者,能够自动生成正确完整的变更日志,简化流式任务分析。
丰富的表类型:Paimon 支持主键表和仅追加表,以及多种表类型,如内部表、外部表、分区表和临时表。
支持表结构变更同步:当数据源表结构发生变化时,Paimon 能自动识别并同步这些变化。
Apache StreamPark 是一个流处理开发管理框架,提供了一套快捷的API 用来开发 Flink/Spark 作业,此外还提供了一个一站式的流处理作业开发管理平台,从流处理作业开发到上线全生命周期都做了支持,StreamPark 主要包含下面这些核心特性:
流处理应用开发框架:基于 StreamPark,开发者可以轻松构建和管理流处理应用程序,更好地利用 Apache Flink 去编写流处理应用程序。
完善的作业管理能力:StreamPark 提供一站式流任务开发管理平台,支持了 Flink / Spark 从应用开发到调试、部署、运维等全生命周期的能力支持,让 Flink / Spark 作业变得简单。
完成度高:StreamPark 支持了 Flink 多版本,可以做到一个平台灵活切换,同时支持 Flink 所有的部署模式,有效解决了 Flink on YARN / K8s 部署过于繁琐的问题,通过自动化流程,简化了任务的构建、测试和部署流程,提高了开发效率。
-
丰富的管理 API:StreamPark 提供了作业操作的 API,包括作业创建、拷贝、构建、部署、基于 checkpoint/savepoint 的停止和启动等功能,使外部系统调用 Apache Flink 任务变得易于实现。
3. StreamPark + Paimon 落地实践