欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

新手组合 - StreamPark + Paimon 的最佳实践 - Paimon 的核心功能

最编程 2024-04-30 10:58:18
...

在经过对 Apache Hudi / Iceberg / Paimon 几个数据湖框架的调研和综合评估之后,我们决定使用 Apache PaimonApache Paimon 是一项流式数据湖存储技术,可以为用户提供高吞吐低延时的数据摄入流式订阅和实时查询能力,支持使用 Flink 和 Spark 构建实时 Lakehouse 架构支持批/流数据处理操作创新性地将 Lake 格式与 LSM 结构相结合将实时流式更新引入 Lake 架构中具有以下优点

  • 统一的批处理和流处理Paimon 支持批量写入、批量读取和流式操作,提供了灵活的数据处理方式。
  • 数据湖功能作为数据湖存储系统,Paimon 具有低成本、高可靠性和可扩展的元数据等特性。

  • 丰富的合并引擎:Paimon 提供了多种合并引擎,可以根据需求选择保留最新数据、进行局部更新或进行聚合操作。

  • 自动生成变更日志:Paimon 支持多种 Changelog 生产者,能够自动生成正确完整的变更日志,简化流式任务分析。

  • 丰富的表类型:Paimon 支持主键表和仅追加表,以及多种表类型,如内部表、外部表、分区表和临时表。

  • 支持表结构变更同步:当数据源表结构发生变化时,Paimon 能自动识别并同步这些变化。


Paimon 可以结合 Apache Spark 来使用,我们场景是 Paimon 结合 Flink 的方式,这样一来 如何管理 4000+个 Flink 数据同步作业 将会是我们面临的新问题。在全面调研了相关项目,经过各项维度综合评估后,我们决定采用 StreamPark 那么为什么选择 StreamPark 呢?
    StreamPark 的核心特性

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 落地实践

接下来,我们将继续分享自如是如何基于 StreamPark + Paimon 进行架构优化改造的,我们先看架构升级前后的对比。