Beam 晋升 Apache 顶级项目

  • Dylan Raithel
  • 麦克周

2017 年 2 月 26 日

话题:大数据语言 & 开发架构AI

Beam最近成功地晋升为 Apache 软件基金会的顶级项目,Beam 的目标包括使用灵活的高层及数据流处理不限时间、无序、全球规模的数据。Beam 最初是由 Google 内部项目创建,随后被捐献给了Apache,并于 2016 年 2 月开始一直孵化到当年年底。Beam 项目寻求针对流式和批处理任务创建一个统一编程模型,并且产生可以被许多已经支持的数据处理引擎消费的组件。Beam 寻求:

为世界提供一个易用的、强大的数据并行处理模型,支持包括流式和批处理,灵活地在各种实时平台之间工作。Beam SDKs 使用相同的类展现有限和无限数据,并且基于这些数据至上做相同的转换操作。

Java 和 Python 的 SDK 支持提供了选择的后台处理引擎和处理管道组件之间的抽象层。支持的处理引擎包括 ApacheApexFlinkSpark以及 Google Cloud Dataflow引擎。

Beam 管道的编程模型包括 PCollection(s)、Transform(s) 和 Pipeline I/O,以及每个支持处理引擎的 Runners,对于本地 DirectRunner 不作为默认的 Beam:

Google 开源 Beam 的动机是作为新兴商业业务的一部分,用以支持集成,同时贡献给其他开源项目。基本想法是这样做可以增加 Beam 的潜在使用几率,深层次是想要提升 Google Dataflow平台的曝光度,深层次原因是因为 Beamd 的出现会提升已经支持的处理引擎。Google 在 Spark 和 Beam 之间进行了比较,注明 Beam 模型由于它专注于流式和批量数据处理,所以 Beam 是正确的模型选择,并且通过启用事件时间窗口(Event-Time Windowing)、水印(Watermark)、触发(Trigger)特性等证明了语义重要性。开源社区和数据科学产业还不能独立于 Google 进行数据验证,并且应该围绕系统架构和基准使用更多的用例分析。早期迹象显示 Beam 社区正在不断发展,并且围绕支持多个处理平台也有积极的反馈。

查看英文原文:Beam Graduates to Top-Level Apache Project


感谢刘志勇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

大数据语言 & 开发架构AI