Google 布局大數據:發布開源平台 Apache Beam,兼容多個運行平台

【我們為什麼挑選這篇文章】 去年二月,Google 開發了一項叫做 Beam 的計畫。一年後,這個與 Spark 並列為「下一代大數據處理平台」的 Apache Beam 終於要來了。

而 Apache Beam 吸引到越來越多使用者後,也能順勢讓更多人使用 Google 雲端平台,對於布局大數據 Google 又前進了一步。(責任編輯:黃筱雯)

美國時間 1 月 10 日,Apache 軟體基金會對外宣布,萬眾期待的 Apache Beam 在經歷了近一年的孵化之後終於畢業。這一頂級 Apache 開源項目終於成熟。

這是大數據處理領域的又一大里程碑事件——僅僅在上個月,騰訊宣布將在 2017 年一季度開源其大數據計算平台 Angel 。現在看來,生不逢時的 Angel 可能迎來了它最大的對手。至此,Google 終於也完成了對其雲端大數據平台 Cloud Dataflow 開源的承諾。

Apache Beam 有兩大特點:

  1. 統一了數據批處理(batch)和流處理(stream)編程範式,
  2. 能在任何執行引擎上運行。

它不僅為模型設計、更為執行一系列數據導向的工作流提供了統一的模型。這些工作流包括數據處理、吸收和整合。

它針對什麼問題提供了解決方案:

大數據處理領域的一大問題是:開發者經常要用到很多不同的技術、框架、API、開發語言和 SDK。雷鋒網獲知,取決於需要完成的是什麼任務,以及在什麼情況下進行,開發者很可能會用 MapReduce 進行批處理,用 Apache Spark SQL 進行交互請求(interactive queries),用 Apache Flink 實時流處理,還有可能用到基於雲端的機器學習框架。

近兩年開啟的開源大潮,為大數據開發者提供了十分豐富的工具。但這同時也增加了開發者選擇合適的工具的難度,尤其對於新入行的開發者來說。這很可能拖慢、甚至阻礙開源工具的發展: 把各種開源框架、工具、庫、平台人工整合到一起所需工作之複雜,是大數據開發者常有的抱怨之一,也是他們支持專有大數據平台的首要原因。

Google 開源 Cloud Dataflow 背後的算盤是:

Apache Beam 的用戶基礎越大,就會有更多人用 Google 雲端平台。相應地,他們會轉化為 Google 雲端服務的客戶。騰訊開放 Angel 的動機與之類似。

背景

2016 年 2 月份,Google 及其合作伙伴向 Apache 捐贈了一大批代碼,創立了孵化中的 Beam 項目(最初叫 Apache Dataflow)。這些代碼中的大部分來自於 Google Cloud Dataflow SDK——開發者用來寫流處理和批處理管道(pipelines)的庫,可在任何支持的執行引擎上運行。

當時,支援的主要引擎是 Google Cloud Dataflow,附帶對 Apache Spark 和開發中的 Apache Flink 支持。如今,它正式開放之時,已經有五個官方支援的引擎。除去已經提到的三個,還包括 Beam 模型和 Apache Apex。

雷鋒網 (公眾號:雷鋒網) 獲知,Apache Beam 的官方解釋是:「Beam 為創建複雜數據平行處理管道,提供了一個可移動(兼容性好)的 API 層。這層 API 的核心概念基於 Beam 模型(以前被稱為 Dataflow 模型),並在每個 Beam 引擎上不同程度得執行。」

Google 工程師、Apache Beam 項目的核心人物 Tyler Akidau 表示:

當我們(Google 和幾家公司)決定把 Cloud Dataflow SDK 和相關引擎加入 Apache Beam 孵化器項目時,我們腦海裡有一個目標:為世界提供一個易於使用、但是很強大的數據並行處理模型,支持流處理和批處理,兼容多個運行平台。

前景

對於 Apache Beam 的前景,Tyler Akidau 說道:

一般來講,在孵化器畢業只是一個開源項目生命周期中的一個里程碑——未來還有很多在等著我們。但成為頂級項目是一個信號:Apache Beam 的背後已經有為迎接它的黃金時間準備就緒的開發者社群。

這意味著,我們已經準備好向前推進流處理和批處理的技術邊界,並把可移動性(兼容多平台)帶到可編程數據處理。 這很像 SQL 在陳述性數據(declarative data)分析領域起到的作用。相比不開源、把相關技術禁錮在 Google 高牆之內,我們希望借此創造出前者所無法實現的東西。

另外,Tyler Akidau 信心十足地強調:「流處理和批處理的未來在於 Apache Beam,而執行引擎的選擇權在於用戶。」

最後,我們來看看 Google 在去年早些時候發布的「Apache Beam 技能矩陣」,用它可以看出每一個兼容引擎執行 Beam 模型的效果。換句話說,它展示了 Apache Beam 管道在不同平台執行的兼容能力。

黃色表:都有什麼被計算?藍表:事件時間的那一刻?綠表:處理時間的哪一刻?紅表:各項改進之間有什麼關系?

延伸閱讀

只有開源還不夠用,Google 為機器學習技術 TensorFlow 再一次大升級
哪家雲端服務 CP 值最高?Oracle、AWS、Azure 性價比大揭密!

(本文經合作夥伴雷鋒網授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈谷歌布局大數據:開源平台 Apache Beam 正式發布 〉。)


AI、大數據的數據負載量過高嗎?

培養數位轉型力,資料儲存 3 大核心技能缺一不可!

填資料拿《IBM 產品塑形秘笈

還能抽 Switch 遊戲機+健身環

 

點關鍵字看更多相關文章: