Apache Beam:下一代的大數據處理標準

Apache Beam(原名Google DataFlow)是Google在2016年2月份貢獻給Apache基金會的Apache孵化項目,被認為是繼MapReduce,GFS和BigQuery等之後,Google在大數據處理領域對開源社區的又一個非常大的貢獻。Apache Beam的主要目標是統一批處理和流處理的編程範式,為無限,亂序,web-scale的數據集處理提供簡單靈活,功能豐富以及表達能力十分強大的SDK。Apache Beam項目重點在於數據處理的編程範式和接口定義,並不涉及具體執行引擎的實現,Apache Beam希望基於Beam開發的數據處理程序可以執行在任意的分佈式計算引擎上。

Apache Beam 主要有兩大特點:

將數據的批處理(batch)和流處理(stream)編程範式進行了統一;

能夠在任何的執行引擎上運行。

Apache Beam 僅僅是一個SDK,是一個應用頂層的API,主要由Beam SDK和Beam Runner組成,Beam SDK定義了開發分佈式數據處理任務業務邏輯的API接口,生成的的分佈式數據處理任務Pipeline交給具體的Beam Runner執行引擎。支持的執行引擎(官方叫做Apache Beam Pipeline Runners)包括Apache Apex,Apache Flink,Apache Spark以及它自己的Google Cloud Dataflow。 Apache Beam目前支持的API接口包括 Java 和 Python,其他的語言正在開發中。如下圖所示:

Apache Beam:下一代的大數據處理標準


分享到:


相關文章: