谷歌布局大數(shù)據(jù):開(kāi)源平臺(tái)Apache Beam正式發(fā)布

責(zé)任編輯:editor007

作者:王川

2017-01-11 20:46:28

摘自:雷鋒網(wǎng)

美國(guó)時(shí)間1月10日,Apache軟件基金會(huì)對(duì)外宣布,萬(wàn)眾期待的 Apache Beam 在經(jīng)歷了近一年的孵化之后終于畢業(yè)。這一頂級(jí) Apache開(kāi)源項(xiàng)目終于成熟。

美國(guó)時(shí)間1月10日,Apache軟件基金會(huì)對(duì)外宣布,萬(wàn)眾期待的 Apache Beam 在經(jīng)歷了近一年的孵化之后終于畢業(yè)。這一頂級(jí) Apache開(kāi)源項(xiàng)目終于成熟。

這是大數(shù)據(jù)處理領(lǐng)域的又一大里程碑事件——僅僅在上個(gè)月,騰訊宣布將在2017年一季度開(kāi)源其大數(shù)據(jù)計(jì)算平臺(tái) Angel ?,F(xiàn)在看來(lái),生不逢時(shí)的Angel可能迎來(lái)了它最大的對(duì)手。至此,谷歌終于也完成了對(duì)其云端大數(shù)據(jù)平臺(tái)Cloud Dataflow開(kāi)源的承諾。

Apache Beam有兩大特點(diǎn):

1、統(tǒng)一了數(shù)據(jù)批處理(batch)和流處理(stream)編程范式,

2、能在任何執(zhí)行引擎上運(yùn)行。

它不僅為模型設(shè)計(jì)、更為執(zhí)行一系列數(shù)據(jù)導(dǎo)向的工作流提供了統(tǒng)一的模型。這些工作流包括數(shù)據(jù)處理、吸收和整合。

它針對(duì)什么問(wèn)題提供了解決方案:

大數(shù)據(jù)處理領(lǐng)域的一大問(wèn)題是:開(kāi)發(fā)者經(jīng)常要用到很多不同的技術(shù)、框架、API、開(kāi)發(fā)語(yǔ)言和SDK。雷鋒網(wǎng)獲知,取決于需要完成的是什么任務(wù),以及在什么情況下進(jìn)行,開(kāi)發(fā)者很可能會(huì)用MapReduce進(jìn)行批處理,用Apache Spark SQL進(jìn)行交互請(qǐng)求(interactive queries),用Apache Flink實(shí)時(shí)流處理,還有可能用到基于云端的機(jī)器學(xué)習(xí)框架。

近兩年開(kāi)啟的開(kāi)源大潮,為大數(shù)據(jù)開(kāi)發(fā)者提供了十分富余的工具。但這同時(shí)也增加了開(kāi)發(fā)者選擇合適的工具的難度,尤其對(duì)于新入行的開(kāi)發(fā)者來(lái)說(shuō)。這很可能拖慢、甚至阻礙開(kāi)源工具的發(fā)展:把各種開(kāi)源框架、工具、庫(kù)、平臺(tái)人工整合到一起所需工作之復(fù)雜,是大數(shù)據(jù)開(kāi)發(fā)者常有的抱怨之一,也是他們支持專(zhuān)有大數(shù)據(jù)平臺(tái)的首要原因。

谷歌開(kāi)源Cloud Dataflow背后的算盤(pán)是:

Apache Beam的用戶基礎(chǔ)越大,就會(huì)有更多人用谷歌云平臺(tái)運(yùn)它。相應(yīng)地,他們會(huì)轉(zhuǎn)化為谷歌云服務(wù)的客戶。騰訊開(kāi)放Angel的動(dòng)機(jī)與之類(lèi)似。

 

谷歌布局大數(shù)據(jù):開(kāi)源平臺(tái)Apache Beam正式發(fā)布

 

背景

2016年2月份,谷歌及其合作伙伴向Apache捐贈(zèng)了一大批代碼,創(chuàng)立了孵化中的Beam項(xiàng)目(最初叫Apache Dataflow)。這些代碼中的大部分來(lái)自于谷歌Cloud Dataflow SDK——開(kāi)發(fā)者用來(lái)寫(xiě)流處理和批處理管道(pipelines)的庫(kù),可在任何支持的執(zhí)行引擎上運(yùn)行。當(dāng)時(shí),支持的主要引擎是谷歌Cloud Dataflow,附帶對(duì)Apache Spark和開(kāi)發(fā)中的Apache Flink支持。如今,它正式開(kāi)放之時(shí),已經(jīng)有五個(gè)官方支持的引擎。除去已經(jīng)提到的三個(gè),還包括Beam模型和Apache Apex。

雷鋒網(wǎng)獲知,Apache Beam的官方解釋是:“Beam為創(chuàng)建復(fù)雜數(shù)據(jù)平行處理管道,提供了一個(gè)可移動(dòng)(兼容性好)的API層。這層API的核心概念基于Beam模型(以前被稱(chēng)為Dataflow模型),并在每個(gè)Beam引擎上不同程度得執(zhí)行。”

谷歌工程師、Apache Beam項(xiàng)目的核心人物Tyler Akidau表示:

“當(dāng)我們(谷歌和幾家公司)決定把 Cloud Dataflow SDK和相關(guān)引擎加入 Apache Beam孵化器項(xiàng)目時(shí),我們腦海里有一個(gè)目標(biāo):為世界提供一個(gè)易于使用、但是很強(qiáng)大的數(shù)據(jù)并行處理模型,支持流處理和批處理,兼容多個(gè)運(yùn)行平臺(tái)。”

 

谷歌布局大數(shù)據(jù):開(kāi)源平臺(tái)Apache Beam正式發(fā)布

 

前景

對(duì)于Apache Beam的前景,Tyler Akidau說(shuō)道:

“一般來(lái)講,在孵化器畢業(yè)只是一個(gè)開(kāi)源項(xiàng)目生命周期中的一個(gè)里程碑——未來(lái)還有很多在等著我們。但成為頂級(jí)項(xiàng)目是一個(gè)信號(hào):Apache Beam的背后已經(jīng)有為迎接它的黃金時(shí)間準(zhǔn)備就緒的開(kāi)發(fā)者社群。

這意味著,我們已經(jīng)準(zhǔn)備好向前推進(jìn)流處理和批處理的技術(shù)邊界,并把可移動(dòng)性(兼容多平臺(tái))帶到可編程數(shù)據(jù)處理。這很像SQL在陳述性數(shù)據(jù)(declarative data)分析領(lǐng)域起到的作用。相比不開(kāi)源、把相關(guān)技術(shù)禁錮在谷歌高墻之內(nèi),我們希望借此創(chuàng)造出前者所無(wú)法實(shí)現(xiàn)的東西。”

另外,Tyler Akidau信心十足地強(qiáng)調(diào):“流處理和批處理的未來(lái)在于Apache Beam,而執(zhí)行引擎的選擇權(quán)在于用戶。”

最后,我們來(lái)看看谷歌在去年早些時(shí)候發(fā)布的“Apache Beam技能矩陣”,用它可以看出每一個(gè)兼容引擎執(zhí)行Beam模型的效果。換句話說(shuō),它展示了Apache Beam管道在不同平臺(tái)執(zhí)行的兼容能力。

 

谷歌布局大數(shù)據(jù):開(kāi)源平臺(tái)Apache Beam正式發(fā)布

 

(黃色表:都有什么被計(jì)算?藍(lán)表:事件時(shí)間的那一刻?綠表:處理時(shí)間的哪一刻?紅表:各項(xiàng)改進(jìn)之間有什么關(guān)系?)

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)