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).