企業(yè)可以利用Hadoop以及所有與它相關(guān)的技術(shù)設(shè)計(jì)大數(shù)據(jù)環(huán)境,以滿足其特定的需求。但把所有的技術(shù)集成在一起并不是一件容易的事。
IT團(tuán)隊(duì)尋求構(gòu)建大數(shù)據(jù)架構(gòu)時(shí)有大量的技術(shù)可供選擇,他們可以混合搭配各種技術(shù)以滿足數(shù)據(jù)處理和分析需求。但是有一個(gè)問題存在:把所有需要的技術(shù)框架組合到一起是一項(xiàng)艱巨的任務(wù)。
在不斷擴(kuò)展的Hadoop生態(tài)系統(tǒng)中,選擇和部署合適的大數(shù)據(jù)技術(shù)是一個(gè)長期反復(fù)的過程,周期要以年計(jì)。除非公司管理者愿花大量財(cái)力和資源來加速推動項(xiàng)目。選擇技術(shù)的過程中有失誤判斷是很常見的,一家公司的架構(gòu)藍(lán)圖不一定適用于另一家組織,即便是完全相同的行業(yè)也不行。
Bryan Lari是美國德克薩斯州大學(xué)MD安德森癌癥研究中心(位于休斯頓)研究分析主任,他說:“我經(jīng)常跟人說,這不是像你在亞馬遜下個(gè)訂單或者從蘋果商店買個(gè)東西那么簡單的事。這是一件復(fù)雜的事,它需要一個(gè)過程。我們在半年或者一年之內(nèi)是做不完的。這也不是可以套用公式就能應(yīng)用的技術(shù),盡管有很多案例或者用戶有成功經(jīng)驗(yàn),但我們也可能用不同的工具來滿足我們的需求。”
MD安德森的大數(shù)據(jù)環(huán)境集中在Hadoop集群中,在三月份的時(shí)候投入了生產(chǎn)環(huán)境,初步打算用來處理病人房間監(jiān)視設(shè)備傳輸回來的重要信號數(shù)據(jù)。不過,數(shù)據(jù)湖平臺還包括HBase(與Hadoop配合的NoSQL數(shù)據(jù)庫),Hive(Hadoop支持SQL的軟件),還有各種其他Apache開源技術(shù),例如:Pig、Sqoop、Oozie和Zookeeper。此外,這家癌癥治療和研究組織還部署了Oracle數(shù)據(jù)倉庫作為信息庫來支持分析和報(bào)表應(yīng)用,還有IBM的Watson認(rèn)知計(jì)算系統(tǒng)提供自然語言處理和機(jī)器學(xué)習(xí)功能。未來出現(xiàn)新的數(shù)據(jù)可視化、治理和安全工具也必然會參與進(jìn)來。
MD安德森癌癥中心的IT團(tuán)隊(duì)在2015年初就開始使用Hadoop。為了演示可能的應(yīng)用情況同時(shí)熟悉該技術(shù),該中心首先使用基本的Apache Hadoop軟件構(gòu)建了試點(diǎn)集群環(huán)境。后來,他們部署了Hadoop Hortonworks分布式架構(gòu)用于生產(chǎn)環(huán)境。
Vamshi Punugoti是MD安德森癌癥中興研究信息系統(tǒng)的副主任,他說從這次試點(diǎn)項(xiàng)目中得到的經(jīng)驗(yàn)可以使他們處理架構(gòu)調(diào)整更容易。隨著新的大數(shù)據(jù)工具出現(xiàn),總會有調(diào)整架構(gòu)的可能性,一定需要功能增強(qiáng)或者替換組件。Punugoti說:“這是個(gè)持續(xù)更新的過程,包括我們收集到的數(shù)據(jù)都在不斷變化著。如果我們認(rèn)為(現(xiàn)有架構(gòu))可以處理一切那就太天真了。”
演進(jìn)更好的架構(gòu)
Uber平臺工程師團(tuán)隊(duì)花了大約一年時(shí)間設(shè)計(jì)了多層大數(shù)據(jù)架構(gòu),但是這么多技術(shù)組件搭建的有點(diǎn)倉促。Uber公司Hadoop團(tuán)隊(duì)高級工程師Vinoth Chandar說,該公司的現(xiàn)有系統(tǒng)跟不上業(yè)務(wù)運(yùn)營帶來的快速增長的數(shù)據(jù)量。結(jié)果,大部分?jǐn)?shù)據(jù)不能進(jìn)行實(shí)時(shí)分析,Chandar認(rèn)為這對于Uber公司倡導(dǎo)實(shí)質(zhì)性“實(shí)時(shí)叫車”理念來說是個(gè)大問題。
為了幫助運(yùn)營經(jīng)理實(shí)現(xiàn)數(shù)據(jù)驅(qū)動,Chandar和他的同事們搭建了Hadoop數(shù)據(jù)湖環(huán)境,其中包括HBase、Hive、Spark處理引擎、Kafka消息隊(duì)列系統(tǒng),還有其它一些技術(shù)。其中一些技術(shù)是內(nèi)部構(gòu)建的,例如:有一款數(shù)據(jù)提取工具Streamific。
有了該架構(gòu)之后,Uber公司將追趕大數(shù)據(jù)和分析的藝術(shù)狀態(tài)。但是,這并不是容易做到的。他半開玩笑地補(bǔ)充說:“為了把這些技術(shù)組件整合到一起,我們十個(gè)人幾乎一年沒有睡覺。”
架構(gòu)的挑戰(zhàn)對于組織來說可不是鬧著玩的。Gartner咨詢公司預(yù)測,到2018年,70%的Hadoop部署將無法實(shí)現(xiàn)他們節(jié)約成本和收入增長的目標(biāo),主要原因是技能不足和技術(shù)整合困難。Gartner公司分析師Merv Adrian說,整合障礙還在加劇,Hadoop分發(fā)商與大數(shù)據(jù)技術(shù)有關(guān)的數(shù)字還在穩(wěn)步攀升,這代表了部署Hadoop的公司對Hadoop技術(shù)支持的需求量趨勢。
在2016年太平洋西北地區(qū)BI峰會上,Adrian列舉了46種Hadoop相關(guān)的開源技術(shù)創(chuàng)新,這些產(chǎn)品都是由一家或者多家分發(fā)商提供支持服務(wù)的。但是,要把這些組件放到大數(shù)據(jù)架構(gòu)中卻是留給使用方的工作。“大多數(shù)Hadoop項(xiàng)目都像是藝術(shù)工作,我們都要把這些技術(shù)組件整合到一起使用。”
執(zhí)行過程中的變化
這種整合拼湊工作是非常艱巨的任務(wù),即便Hadoop不是框架中的一部分。Celtra公司提供了一個(gè)平臺可以設(shè)計(jì)在線顯示和視頻廣告,有幾部分已經(jīng)在基于云的處理架構(gòu)中陸續(xù)部署了,現(xiàn)在正把Spark及其SQL模塊整合到Amazon簡單存儲服務(wù)(S3)、MySQL關(guān)系型數(shù)據(jù)庫和Snowflake計(jì)算的數(shù)據(jù)倉庫系統(tǒng)。
Grega Kespret是這家波士頓公司的分析總監(jiān),他說:“我們經(jīng)歷了許多嘗試和錯(cuò)誤。比較有挑戰(zhàn)的是要設(shè)計(jì)一套架構(gòu)滿足業(yè)務(wù)需求,但還不能過度設(shè)計(jì)。”他提醒說,如果你做了,可能會以一片混亂而告終。
最開始的時(shí)候,Celtra公司通過網(wǎng)站訪問者和S3中的其它可跟蹤事件收集廣告交互數(shù)據(jù),然后使用Spark作為ETL引擎(抽取、轉(zhuǎn)換和加載)聚合信息,分析MySQL中的運(yùn)營數(shù)據(jù)用于報(bào)表。但是,原始的事件數(shù)據(jù)是很難分析的。Celtra公司增加了一套獨(dú)立的基于Spark的分析系統(tǒng),但是仍然需要該公司的數(shù)據(jù)分析師們團(tuán)結(jié)一致去清理和驗(yàn)證事件數(shù)據(jù),這個(gè)過程的工作是很容易出錯(cuò)的。
在2015年底的時(shí)候,Kespret和他的團(tuán)隊(duì)經(jīng)過各種嘗試最終放棄了其它技術(shù),選擇了Snowflake作為事件數(shù)據(jù)存儲系統(tǒng),然后把數(shù)據(jù)按用戶會話進(jìn)行組織之后會存儲到MySQL,這樣數(shù)據(jù)分析師用起來更方便。
Snowflake系統(tǒng)在去年四月份投入生產(chǎn)使用,比該軟件軟發(fā)布較早一點(diǎn)。Kespret說,下一步是要在Snowflake中存儲數(shù)據(jù),評估第二步ETL過程,然后處理數(shù)據(jù)存儲到另一套MySQL數(shù)據(jù)庫中。
大數(shù)據(jù)開發(fā)的“狂野西部日”
Hadoop合作設(shè)計(jì)者Doug Cutting認(rèn)為,技術(shù)選擇方案過多導(dǎo)致了構(gòu)建大數(shù)據(jù)架構(gòu)過程的復(fù)雜化。對于許多希望利用Hadoop及其同生技術(shù)的用戶組織,“這真像是狂野西部時(shí)期的泡沫”。Cutting現(xiàn)在是Hadoop供應(yīng)商Cloudera公司的首席架構(gòu)師。
不過Cutting認(rèn)為,大數(shù)據(jù)系統(tǒng)的益處也正體現(xiàn)于此——這種多樣性帶來了架構(gòu)靈活性,支持各種新的分析應(yīng)用,而且IT成本更低。因此,費(fèi)一番周折實(shí)現(xiàn)集成也是值得的。他認(rèn)為大多數(shù)問題是因?yàn)閷@些開源軟件的開發(fā)和部署流程不熟悉引起的。他說:“Hadoop很快就不會令人生畏,人們會習(xí)慣使用它的。”
或許是這樣吧,不過雅虎公司(據(jù)聲稱是最大的Hadoop用戶群)的IT經(jīng)理們表示,他們并沒有完全消除壓力。Cutting曾在雅虎總部工作(位于美國加州Sunnyvale),那時(shí)候Hadoop在2006年剛啟動。雅虎這家web搜索和互聯(lián)網(wǎng)服務(wù)公司是該技術(shù)的第一家生產(chǎn)環(huán)境用戶。目前,該公司(雅虎)的大數(shù)據(jù)環(huán)境有40個(gè)集群,混雜了HBase、Spark、Storm實(shí)時(shí)處理引擎和其它Hadoop相關(guān)技術(shù)。
Sumeet Singh是雅虎公司負(fù)責(zé)云計(jì)算和大數(shù)據(jù)平臺產(chǎn)品開發(fā)的高級總監(jiān)。他說,總的來說,圍繞Hadoop建立的巨大技術(shù)生態(tài)體系對用戶是有利的。Singh表示,Hadoop這個(gè)開源框架加速了技術(shù)開發(fā)的步伐,使IT團(tuán)隊(duì)可以集中精力規(guī)劃和創(chuàng)造對他們公司有用的工具,而不必自己完成所有工作。“我知道有許多開源項(xiàng)目,不過不是每個(gè)人都能廣泛接觸采納,這其中會有真正明確獲益的贏家。”
大數(shù)據(jù)的世界并不總是陽光明媚的,Singh說:“總會有各種問題隨之而來”,他的頭腦快要被各種開源框架和大數(shù)據(jù)框架涉及的數(shù)不清的技術(shù)撐爆了。