Apache Beam

编程模型

Apache Beam是一个开源统一编程模型,用于定义和执行数据处理管道,包括ETL批处理流(连续)处理[2] Beam流水线是使用提供的SDK之一定义的,并在Beam支持的一个运行器(分布式处理后端)中执行,包括Apache Apex英语Apache ApexApache Flink、Apache Gearpump(孵化中)、Apache Samza英语Apache SamzaApache Spark和Google Cloud Dataflow。[3]

Apache Beam
开发者Apache软件基金会
首次发布2016年6月15日,​8年前​(2016-06-15
当前版本
  • 2.60.0(2024年10月16日;稳定版本)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言Java, Python, Go
操作系统跨平台
许可协议Apache许可证 2.0
网站beam.apache.org

它被称为“大数据的超级API”。[4]

历史

Apache Beam[3]是数据流模型文件的一种实现。[5]数据流模型基于以前关于Google的分布式处理抽象的工作,特别是FlumeJava[6]和Millwheel。[7][8]

Google于2014年发布了数据流模型的开放式SDK,以及在本地(非分布式)和Google云平台服务中执行数据流的环境。

2016年,Google向Apache软件基金会捐赠了核心SDK以及本地运行程序的实现,以及用于访问Google云平台数据服务的一组IO(数据连接器)。其他公司和社区成员为现有的分布式执行平台提供了运行器,以及新的将Beam Runners与现有数据库、键值存储和消息系统集成的IO。此外,还提出了新的DSL,以支持Beam模型之上的特定领域需求。

时间线

版本 释放日期
当前版本: 2.19.0 2020-02-04
旧版本,不再支持: 2.18.0 2020-01-23
旧版本,不再支持: 2.17.0 2020-01-06
旧版本,不再支持: 2.16.0 2019-10-07
旧版本,不再支持: 2.15.0 2019-08-22
旧版本,不再支持: 2.14.0 2019-08-01
旧版本,不再支持: 2.13.0 2019-05-22
旧版本,不再支持: 2.12.0 2019-04-25
旧版本,不再支持: 2.11.0 2019-02-26
旧版本,不再支持: 2.10.0 2019-02-01
旧版本,不再支持: 2.9.0 2018-12-13
旧版本,不再支持: 2.8.0 2018-10-29
旧版本,不再支持: 2.7.0 2018-10-03
旧版本,不再支持: 2.6.0 2018-08-08
旧版本,不再支持: 2.5.0 2018-06-26
旧版本,不再支持: 2.4.0 2018-03-20
旧版本,不再支持: 2.3.0 2018-01-30
旧版本,不再支持: 2.2.0 2017-12-02
旧版本,不再支持: 2.1.0 2017-08-23
旧版本,不再支持: 2.0.0 2017-05-17
旧版本,不再支持: 0.6.0 2017-03-11
旧版本,不再支持: 0.5.0 2017-02-02
旧版本,不再支持: 0.4.0 2016-12-29
旧版本,不再支持: 0.3.0 2016-10-31
旧版本,不再支持: 0.2.0 2016-08-08
旧版本,不再支持: 0.1.0 2016-06-15
格式:
旧版本
旧版本,仍被支持
当前版本
最新的预览版
未来版本

参见

  • Apache软件基金会的项目列表

参考文献

  1. ^ Release 2.60.0. 2024年10月16日 [2024年10月21日]. 
  2. ^ Woodie, Alex. Apache Beam's Ambitious Goal: Unify Big Data Development. Datanami. 2016-04-22 [2016-08-04]. (原始内容存档于2016-08-13). 
  3. ^ 3.0 3.1 Cloud Dataflow - Batch & Stream Data Processing. [2018-12-21]. (原始内容存档于2018-12-23). 
  4. ^ Ian Pointer. Apache Beam wants to be uber-API for big data. InfoWorld英语InfoWorld. 2016-04-14 [2018-12-21]. (原始内容存档于2018-12-22). 
  5. ^ Akidau, Tyler; Schmidt, Eric; Whittle, Sam; Bradshaw, Robert; Chambers, Craig; Chernyak, Slava; Fernández-Moctezuma, Rafael J.; Lax, Reuven; McVeety, Sam. The dataflow model (PDF). Proceedings of the VLDB Endowment. 2015-08-01, 8 (12): 1792–1803 [2016-08-04]. doi:10.14778/2824032.2824076. (原始内容存档 (PDF)于2016-03-04). 
  6. ^ Chambers, Craig; Raniwala, Ashish; Perry, Frances; Adams, Stephen; Henry, Robert R.; Bradshaw, Robert; Weizenbaum, Nathan. FlumeJava: Easy, Efficient Data-parallel Pipelines (PDF). Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation (ACM). 2010-01-01: 363–375 [2016-08-04]. doi:10.1145/1806596.1806638. (原始内容 (PDF)存档于2016-09-23). 
  7. ^ Akidau, Tyler; Whittle, Sam; Balikov, Alex; Bekiroğlu, Kaya; Chernyak, Slava; Haberman, Josh; Lax, Reuven; McVeety, Sam; Mills, Daniel. MillWheel (PDF). Proceedings of the VLDB Endowment. 2013-08-27, 6 (11): 1033–1044 [2016-08-04]. doi:10.14778/2536222.2536229. (原始内容 (PDF)存档于2016-02-01). 
  8. ^ Pointer, Ian. Apache Beam wants to be uber-API for big data. InfoWorld. [2016-08-04]. (原始内容存档于2016-08-03).