Apache Beam
编程模型
Apache Beam是一個開源統一編程模型,用於定義和執行資料處理管道,包括ETL、批次處理和流(連續)處理。[2] Beam管線是使用提供的SDK之一定義的,並在Beam支援的一個執行器(分散式處理後端)中執行,包括Apache Apex、Apache Flink、Apache Gearpump(孵化中)、Apache Samza、Apache Spark和Google Cloud Dataflow。[3]
開發者 | Apache軟體基金會 |
---|---|
首次釋出 | 2016年6月15日 |
目前版本 |
|
原始碼庫 | |
程式語言 | Java, Python, Go |
作業系統 | 跨平台 |
授權條款 | Apache授權條款 2.0 |
網站 | beam |
它被稱為「巨量資料的超級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軟體基金會的專案列表
參考文獻
- ^ Release 2.60.0. 2024年10月16日 [2024年10月21日].
- ^ Woodie, Alex. Apache Beam's Ambitious Goal: Unify Big Data Development. Datanami. 2016-04-22 [2016-08-04]. (原始內容存檔於2016-08-13).
- ^ 3.0 3.1 Cloud Dataflow - Batch & Stream Data Processing. [2018-12-21]. (原始內容存檔於2018-12-23).
- ^ Ian Pointer. Apache Beam wants to be uber-API for big data. InfoWorld. 2016-04-14 [2018-12-21]. (原始內容存檔於2018-12-22).
- ^ 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).
- ^ 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).
- ^ 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).
- ^ Pointer, Ian. Apache Beam wants to be uber-API for big data. InfoWorld. [2016-08-04]. (原始內容存檔於2016-08-03).