关于

为什么选择 Apache Beam?

Apache Beam 是一个开源的、统一的编程模型,用于批处理和流式数据处理管道,简化了大规模数据处理的动态。全球数千家组织选择 Apache Beam 是因为它独特的数据处理功能、经过验证的规模和功能强大且可扩展的功能。

Batch and Stream Processing Batch and Stream Processing


Apache Beam 是数据处理的未来,因为它提供了

强大的抽象

Apache Beam 模型提供了强大的抽象,使您免受分布式数据处理底层细节的影响,例如协调各个工作者、从源读取和写入接收器等。

管道抽象封装了数据处理任务中的所有数据和步骤。您可以从这些抽象的角度考虑数据处理任务。

更高级别的抽象将数据与运行时特征干净地分离,并简化了大规模分布式数据处理的机制。您专注于为客户和企业创造价值,而 Dataflow 模型处理其余工作。

统一的批处理和流式编程模型

Apache Beam 提供了灵活性,您可以仅表达一次业务逻辑,并将其用于批处理和流式数据管道,通过 OSS 运行器在本地执行,或通过 Google Cloud Dataflow 或 AWS Kinesis Data Analytics 等托管服务在云端执行。

Apache Beam 将多个数据处理引擎和 SDK 统一到其独特的 Beam 模型中。这提供了一种简单的方法来创建跨不同应用程序的大规模通用数据基础设施,这些应用程序使用数据。

跨语言功能

您可以从各种语言 SDK 中选择一种编程语言:Java、Python、Go、SQL、TypeScript、Scala(通过 Scio),或者利用多语言功能,使每个团队成员都能使用他们喜欢的编程语言编写转换,并将其组合到一个强大的多语言管道中。Apache Beam 消除了技能依赖,有助于避免与特定技术技能集和堆栈绑定。

可移植性

Apache Beam 提供了在各种执行引擎之间进行选择的自由,可以轻松地在各种运行器之间切换,并且保持与供应商无关。Apache Beam 是为“一次编写,随处运行”而构建的,您可以编写跨语言和运行时环境(开源(例如 Apache Flink 和 Spark)和专有(例如 Google Cloud Dataflow 和 AWS KDA))可移植的数据管道。

可扩展性

Apache Beam 是开源的,并且可以扩展。多个项目(例如 TensorFlow Extended 和 Apache Hop)构建在 Apache Beam 之上,并利用其“一次编写,随处运行”的能力。

新兴产品扩展了用例数量,并为 Apache Beam 用户创造了额外的附加值。

灵活性

Apache Beam 易于采用和实施,因为它使您免受底层细节的影响,并提供了在编程语言之间进行选择的自由。

Apache Beam 数据管道使用通用转换表示,因此它们易于理解和维护,这有助于加速 Apache Beam 的采用和新团队成员的入职。

Apache Beam 用户报告称他们体验到了令人印象深刻的价值实现时间。最值得注意的是,他们注意到开发和部署管道所需的时间减少了,从几天缩短到几个小时。

易于采用

Apache Beam 易于采用和实施,因为它使您免受底层细节的影响,并提供了在编程语言之间进行选择的自由。

Apache Beam 数据管道使用通用转换表示,因此它们易于理解和维护,这有助于加速 Apache Beam 的采用和新团队成员的入职。Apache Beam 用户报告称他们体验到了令人印象深刻的价值实现时间。

最值得注意的是,他们注意到开发和部署管道所需的时间减少了,从几天缩短到几个小时。

详细了解 Apache Beam 如何实现自定义用例并为各个行业领跑者的海量数据生态系统编排复杂的业务逻辑,方法是深入研究我们的 案例研究 部分。

关于 Apache Beam 项目

Apache Beam 是 Apache 的顶级项目——全球最大、最友好的开源社区。世界各地的数据处理领导者都为 Apache Beam 的开发做出贡献,并通过将下一代分布式数据处理和高级技术解决方案变为现实而产生影响。

Apache Beam 成立于 2016 年初,当时 Google 和其他合作伙伴(Cloud Dataflow 贡献者)决定将 Google Cloud Dataflow SDK 和运行器移至 Apache Beam 孵化器。

Apache Beam 于 2016 年发布,已成为一个随时可用且定义明确的统一编程模型,可以表达批处理和流式管道中的业务逻辑,并允许统一的引擎独立执行。

Apache Beam 背后的愿景是让开发人员能够轻松地基于 Beam 模型(=Dataflow 模型)表达数据管道,并能够在引擎和编程语言之间自由选择。

Apache Beam 统一编程模型发展迅速,不断扩展它支持的用例、运行器、语言 SDK 以及内置和自定义可插拔 I/O 转换的数量。