許多公司都在為管理海量數(shù)據(jù)不斷努力。以前,他們都使用數(shù)據(jù)倉(cāng)庫(kù)平臺(tái),用這種傳統(tǒng)架構(gòu)在處理來(lái)自內(nèi)部和外部數(shù)據(jù)源的數(shù)據(jù)時(shí)有很大困難,這些數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容類型通常非常多樣化,但Hadoop可以對(duì)此場(chǎng)景提供幫助。Hadoop是一款分布式處理架構(gòu),專門用來(lái)處理復(fù)雜的海量大數(shù)據(jù),處理結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)混雜的場(chǎng)景。
Hadoop的部分優(yōu)勢(shì)在于,它有許多種開源組件和相關(guān)工具,可以完成數(shù)據(jù)捕獲、處理、管理和分析工作。為了幫助用戶利用好該框架,許多供應(yīng)商提供了商業(yè)版Hadoop分布式產(chǎn)品,它們?cè)贖adoop基礎(chǔ)之上提供了性能和功能方面的擴(kuò)展,并提供對(duì)該框架的維護(hù)和支持服務(wù)。
Hadoop分布式應(yīng)用的案例場(chǎng)景
Hadoop運(yùn)行在商用服務(wù)器集群環(huán)境中,這種環(huán)境通常用來(lái)支持?jǐn)?shù)據(jù)分析而不是聯(lián)機(jī)事務(wù)處理應(yīng)用。有幾種更加通用的分析應(yīng)用案例可以很好地展示Hadoop分布式數(shù)據(jù)處理和并行計(jì)算模型:
業(yè)務(wù)智能應(yīng)用要從事務(wù)處理系統(tǒng)和組織資產(chǎn)系統(tǒng)中捕獲流式數(shù)據(jù),監(jiān)視性能水平,應(yīng)用預(yù)測(cè)分析做預(yù)備維護(hù)或者處理變更。
Web分析本來(lái)是為了幫助公司理解站點(diǎn)訪問者的在線活動(dòng)情況,通過(guò)檢查Web服務(wù)器日志來(lái)檢測(cè)系統(tǒng)性能問題,發(fā)掘營(yíng)銷信息。
安全和風(fēng)險(xiǎn)管理,例如:運(yùn)行分析模型把事務(wù)數(shù)據(jù)與欺詐活動(dòng)模式知識(shí)庫(kù)做比較,利用持續(xù)網(wǎng)絡(luò)安全分析識(shí)別新出現(xiàn)的可疑行為。
營(yíng)銷優(yōu)化,包括利用大量網(wǎng)絡(luò)點(diǎn)擊和在線銷售數(shù)據(jù),再結(jié)合客戶檔案信息設(shè)計(jì)形成推薦引擎提供實(shí)時(shí)產(chǎn)品捆綁銷售建議。
物聯(lián)網(wǎng)應(yīng)用,例如從制造業(yè)設(shè)備、管道和所謂智能建筑安置的傳感器終端獲取數(shù)據(jù)做分析,這些傳感器會(huì)持續(xù)生成并廣播關(guān)于狀態(tài)和性能的信息。
語(yǔ)義分析和品牌保護(hù),可能需要捕獲流式社交媒體數(shù)據(jù)并分析文本,識(shí)別出有意見的客戶提出的問題并快速解決。
大數(shù)據(jù)收集、處理和整合場(chǎng)景,例如捕獲衛(wèi)星圖像和地理空間數(shù)據(jù)。
數(shù)據(jù)暫存,Hadoop用于做第一手?jǐn)?shù)據(jù)的存儲(chǔ),然后才會(huì)做整合、清洗和轉(zhuǎn)換為更加結(jié)構(gòu)化的格式,未來(lái)加載到數(shù)據(jù)倉(cāng)庫(kù)或分析數(shù)據(jù)庫(kù)用于分析。
Hadoop分布式應(yīng)用的實(shí)現(xiàn)方式
支持以上這些應(yīng)用場(chǎng)景的應(yīng)用都可以基于Hadoop構(gòu)建,可以使用一些典型的實(shí)現(xiàn)方法。說(shuō)明如下:
數(shù)據(jù)湖。因?yàn)镠adoop提供了線性擴(kuò)展能力,集群架構(gòu)中很容易加入新數(shù)據(jù)節(jié)點(diǎn)做處理和存儲(chǔ),因此它提供了非常自然的平臺(tái)用于捕獲和管理原始數(shù)據(jù)文件。基于這一特性,許多用戶把Hadoop系統(tǒng)用作捕獲所有數(shù)據(jù)的平臺(tái),創(chuàng)造了數(shù)據(jù)湖的概念。
增強(qiáng)的數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)。Hadoop分布式存儲(chǔ)還可以用于擴(kuò)展數(shù)據(jù),供數(shù)據(jù)倉(cāng)庫(kù)環(huán)境訪問用于分析。最頻繁使用的“熱數(shù)據(jù)”存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中,而不太頻繁的“冷數(shù)據(jù)”可以提交到更高延時(shí)的存儲(chǔ),例如Hadoop分布式文件系統(tǒng)。這種方法依賴于數(shù)據(jù)倉(cāng)庫(kù)與Hadoop集成的緊耦合。
大規(guī)模批量計(jì)算引擎。如果配置了數(shù)據(jù)和計(jì)算節(jié)點(diǎn),Hadoop就變成了大規(guī)模并行處理平臺(tái),可以用于批量處理應(yīng)用做數(shù)據(jù)操作和分析。數(shù)據(jù)標(biāo)準(zhǔn)化就是很好的例子,可以對(duì)數(shù)據(jù)集應(yīng)用轉(zhuǎn)換任務(wù)為分析做準(zhǔn)備。算法驅(qū)動(dòng)的分析應(yīng)用(例如數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、模式分析和預(yù)測(cè)模型)都可以用到Hadoop的批處理能力,因?yàn)樗麄兌夹枰槍?duì)海量分布式數(shù)據(jù)文件并行處理,并疊加并行處理結(jié)果后提供最終結(jié)果集。
事件流分析處理引擎。Hadoop環(huán)境還可以配置為實(shí)時(shí)或準(zhǔn)實(shí)時(shí)處理收到的數(shù)據(jù)流。例如,客戶感受分析應(yīng)用可以把多個(gè)通訊代理并行運(yùn)行于Hadoop集群上,每個(gè)代理都有一套處理規(guī)則。
選擇Hadoop的優(yōu)勢(shì):它真的適合你嗎?
Hadoop是低成本高性能的計(jì)算框架,可以處理各種IT和業(yè)務(wù)場(chǎng)景中組織對(duì)擴(kuò)展處理能力或者擴(kuò)展數(shù)據(jù)管理能力的需求。下面總結(jié)一下應(yīng)用需求的特點(diǎn)以及建議選擇的基于Hadoop分布式應(yīng)用的數(shù)據(jù)管理平臺(tái)。
獲取和處理大數(shù)據(jù)規(guī)范集、大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)和流式數(shù)據(jù)。例如,捕獲包含數(shù)十億在線事件信息的Web服務(wù)器日志;跨不同數(shù)據(jù)集索引億級(jí)文檔;從眾多渠道持續(xù)拉取數(shù)據(jù)流(諸如:社交媒體渠道、證券市場(chǎng)數(shù)據(jù)、新聞發(fā)布源和專家團(tuán)隊(duì)發(fā)布的內(nèi)容等渠道)。
排除性能障礙的需求。在傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中,通常會(huì)有節(jié)流閥控制對(duì)數(shù)據(jù)的訪問、延時(shí)、可用性或者貸款限制來(lái)保障應(yīng)用性能,這與需要處理的數(shù)據(jù)量有關(guān)。
針對(duì)性能的線性可擴(kuò)展性。隨著數(shù)據(jù)量的增長(zhǎng)和用戶數(shù)增加,環(huán)境性能可以隨著計(jì)算能力和存儲(chǔ)資源線性擴(kuò)展是非常關(guān)鍵的能力,尤其是在應(yīng)用程序適合并行計(jì)算的場(chǎng)景下更是如此。
結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的混合場(chǎng)景。應(yīng)用程序需要使用不同數(shù)據(jù)源的數(shù)據(jù),包括結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)。例如:文本數(shù)據(jù)或者服務(wù)器日志數(shù)據(jù)。
IT成本有效性。不需要花費(fèi)購(gòu)買高端服務(wù)器或者專門的硬件設(shè)備,系統(tǒng)架構(gòu)師相信使用正常配置就可以達(dá)到可接受的性能。
Hadoop應(yīng)用到企業(yè)中
盡管把Hadoop平臺(tái)整合到企業(yè)應(yīng)用中是完全可行的,但使用Hadoop獲益仍然要考慮權(quán)衡。因?yàn)樵S多組織已經(jīng)在傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)上做了巨大投資,因此引入更新的技術(shù)可能會(huì)遇到一些阻力。在引入Hadoop分布式產(chǎn)品供應(yīng)商之前,需要先解決潛在的障礙,評(píng)估集群規(guī)模和配置需求。
例如,要判斷Hadoop集群如何與組織的數(shù)據(jù)倉(cāng)庫(kù)和分析策略融合,判斷是否可以增強(qiáng)現(xiàn)有數(shù)據(jù)倉(cāng)庫(kù)功能甚至替換它。另外,要判斷整合和交互方面需要處理的問題,審查配置可替代物,包括是否可以更有利于實(shí)施內(nèi)部Hadoop生態(tài)系統(tǒng),或者基于云或者托管環(huán)境。此外,要確保你已經(jīng)聘用了具備相應(yīng)技能的員工或者對(duì)現(xiàn)有職員進(jìn)行再培訓(xùn)。Hadoop應(yīng)用開發(fā)與傳統(tǒng)數(shù)據(jù)庫(kù)開發(fā)差異是很大的。