大數(shù)據(jù)管道技術(shù) 推動Hadoop架構(gòu)與開發(fā)模式的變革
快速數(shù)據(jù)分析和實時處理的興起,可能會給大數(shù)據(jù)管道帶來一定的變革,微服務(wù)架構(gòu)正在融入Hadoop領(lǐng)域。
最近幾年,開源Hadoop風格的數(shù)據(jù)開發(fā)已經(jīng)獲得了很大的關(guān)注,但讓主流企業(yè)采用這種開發(fā)模式依然用了很長時間。它在處理大數(shù)據(jù)的海量性及多樣性上有很大的價值。但它也具有一定的復雜性,它會導致數(shù)據(jù)處理系統(tǒng)構(gòu)建方式的巨大變革。
而在數(shù)據(jù)處理的速度方面,就相對簡單了。企業(yè)需要迅速處理數(shù)據(jù),速度是企業(yè)對大數(shù)據(jù)管道產(chǎn)生廣泛興趣的主要原因,企業(yè)需要從批處理的數(shù)據(jù)處理方式轉(zhuǎn)變?yōu)閷崟r處理和即時數(shù)據(jù)分析。
過去十年中,對計算性能提升的主要目的是為了更好地應(yīng)對復雜性。隨著開發(fā)者社區(qū)的興起,容器和Docker,微服務(wù)已經(jīng)可以提供松散耦合的,輕便的面向服務(wù)架構(gòu)來應(yīng)對各種復現(xiàn)性需求。并在數(shù)據(jù)一側(cè)的開發(fā)上也投入了一定的努力,這意味著Hadoop上的編程模式可能會產(chǎn)生一些變化,而在Hadoop 2上,這些變動可能更大,因為在Hadoop 2上可以開發(fā)更廣泛的分布式Hadoop附加組件。
容器的變革
如今,我們看到了實時分析應(yīng)用程序所帶來的影響,它結(jié)合了不同的框架部分。 Spark,Kafka和Cassandra是其中最常見的,它們和其他技術(shù)一起組成了流式大數(shù)據(jù)管道。容器和微服務(wù)都更適合于整體架構(gòu),更為重要的是,讓這些框架能夠協(xié)同工作不是一件容易的事。不僅如此,在他們一同工作的同時,還需要對其進行調(diào)整和更新,以實現(xiàn)更好的融合。
在大數(shù)據(jù)架構(gòu)中應(yīng)用容器和微服務(wù)的舉措正變得越來越普遍。BlueData最近在其EPIC平臺上新增了用于管理Docker容器的應(yīng)用,這些容器用于創(chuàng)建Hadoop和Spark集群。 MapR編程架構(gòu)是將微服務(wù)技術(shù)應(yīng)用于流和實時分析應(yīng)用程序架構(gòu)的先驅(qū)。Pachyderm構(gòu)造了一個容器化的處理引擎,在最近的Strata + Hadoop 2016 大會上該技術(shù)獨占鰲頭。
Mesosphere也在密切關(guān)注著相關(guān)技術(shù)的發(fā)展,它已經(jīng)建立了一個系統(tǒng),用于運行容器和數(shù)據(jù)服務(wù)。該公司的產(chǎn)品是構(gòu)建在一個開源的分布式系統(tǒng)內(nèi)核或群集管理器Apache Mesos上。它已經(jīng)被Airbnb,蘋果,Twitter和其他一些公司所采用。
數(shù)據(jù)點
也許對于Spark和Mesos容器服務(wù)在一起出現(xiàn),我們并不用感到十分驚訝,因為Spark的創(chuàng)始人Matei Zaharia與Mesos的研發(fā)也有著一定的淵源。 事實上,今年Mesosphere開展的針對500名Mesos用戶的研究發(fā)現(xiàn),43%的受訪者在Mesos上使用Spark;32%的受訪者在Mesos平臺上使用Kafka,24%的用戶則使用Cassandra。
另一個專注于數(shù)據(jù)分析和微服務(wù)的新興公司是Lightbend,該公司的創(chuàng)始人包括Scala(Spark和Akka開發(fā)所使用語言)的***,Akka是Apache Flink中分布式通信的核心,也是大數(shù)據(jù)管道的另一個新興的元素。
Lightbend發(fā)現(xiàn)了用于快速實時數(shù)據(jù)處理應(yīng)用的容器和框架之間的重大關(guān)聯(lián)。 今年早些時候,公司進行的一項調(diào)查顯示,在Java虛擬機上運行應(yīng)用程序的2100個開發(fā)人員中,34%的受訪者進行實時大部分數(shù)據(jù)處理,22%的受訪者進行等量的批處理和實時處理。
在生產(chǎn)環(huán)境中使用了微服務(wù)的受訪者中,30%的人使用了Kafka,21%的人運行著Spark Streaming,這再次證實了新的數(shù)據(jù)處理框架與服務(wù)和容器方法之間的關(guān)聯(lián)。調(diào)查還發(fā)現(xiàn),這兩個框架都與另一個技術(shù)有關(guān),那就是Akka Streams,35%的受訪者使用了它。
對于數(shù)據(jù)微服務(wù),大多數(shù)新的基礎(chǔ)設(shè)施仍需要構(gòu)建。很多地方還需要一點點摸索,開發(fā)團隊需要找出哪些是正確的,哪些是錯誤的。
此外,數(shù)據(jù)管理的明顯特征——“狀態(tài)”會話和數(shù)據(jù)持久性在微服務(wù)領(lǐng)域仍然有待完善。 對于Hadoop的開發(fā)風格來說,它要取代或替換專用的數(shù)據(jù)倉庫,使用更具活力的開源系統(tǒng),這還有很長的一段路要走。