張衛(wèi)
摘要:隨著信息技術(shù)的持續(xù)發(fā)展,大數(shù)據(jù)技術(shù)、AI技術(shù)成為時(shí)代的主流,大量數(shù)據(jù)的存儲(chǔ)成為當(dāng)前技術(shù)分析面臨的第一個(gè)問(wèn)題,存儲(chǔ)數(shù)據(jù),分析數(shù)據(jù),是IT技術(shù)的核心,那么如何迅速存儲(chǔ)海量數(shù)據(jù),現(xiàn)在主要采用hadoop技術(shù),該文在研究當(dāng)下主要的hadoop技術(shù)的架構(gòu)下,對(duì)技術(shù)原理做出論述。
關(guān)鍵詞:hadoop;分布式存儲(chǔ);大數(shù)據(jù);集群
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)11-0071-02
隨著大數(shù)據(jù)時(shí)代的到來(lái),各種大數(shù)據(jù)相關(guān)產(chǎn)業(yè)和技術(shù)也營(yíng)運(yùn)而生,那么什么是大數(shù)據(jù)呢?大數(shù)據(jù)歸根結(jié)底就是很多的數(shù)據(jù),那么多少數(shù)據(jù)謂之多呢,本來(lái)沒(méi)有一個(gè)相對(duì)量化的概念,但是在如今各種個(gè)人電腦性能極大提高的近日,數(shù)據(jù)量很小如幾個(gè)G等似乎都很容易被個(gè)人電腦輕松應(yīng)對(duì)。但是現(xiàn)在各種行業(yè),各種設(shè)備都會(huì)產(chǎn)生數(shù)據(jù),數(shù)據(jù)動(dòng)輒多少T字節(jié),甚至網(wǎng)Z字節(jié)動(dòng)蕩。所以有人說(shuō),少于50T的數(shù)據(jù)都不能算是大數(shù)據(jù)。那50T是一個(gè)什么樣的概念呢,一般一本長(zhǎng)篇電子書(shū)也就是3~4MB的容量的樣子,那么往大了說(shuō)按5M算的話,1G就是200本以上的長(zhǎng)篇小說(shuō),50T相當(dāng)于10240000本長(zhǎng)篇小說(shuō),試想如果在數(shù)千萬(wàn)本《紅樓夢(mèng)》或者《三國(guó)演義》這樣的小說(shuō)中去查找信息,工作量可想而知。但是如果僅僅是查找的話人力不可為,或許你會(huì)說(shuō)計(jì)算機(jī)對(duì)于這樣簡(jiǎn)單性質(zhì)的比對(duì)還是比較能勝任,不錯(cuò),計(jì)算機(jī)做簡(jiǎn)單的數(shù)學(xué)或者邏輯判斷是擅長(zhǎng)的快速的。但是如果這些信息是數(shù)千萬(wàn)張照片或者視頻等形式的信息,近年來(lái)雖然智能識(shí)別如人臉識(shí)別等技術(shù)的發(fā)展,即使計(jì)算機(jī)的性能也有很大的提高,這些識(shí)別算法還是比較消耗性能的,何況是海量的數(shù)據(jù)那么難度和挑戰(zhàn)肯定還是并存的。
1 什么是大數(shù)據(jù)
大數(shù)據(jù)(Big Data),是指無(wú)法在一定的時(shí)間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高速增長(zhǎng)的多樣化信息資產(chǎn)1。
在以往鑒于人的精力和設(shè)備的局限性,對(duì)一些數(shù)據(jù)處理都是抽樣處理,而大數(shù)據(jù)不是對(duì)數(shù)據(jù)進(jìn)行抽樣處理,而是所有數(shù)據(jù),處理要得到的結(jié)論是不再是簡(jiǎn)單的精確匹配或者計(jì)算,而是在多個(gè)維度上進(jìn)行復(fù)雜的相互關(guān)系的分析。IBM公司提出數(shù)據(jù)的5V特點(diǎn), Volumn、Velocity、Varity、Value、Veracity分別指其在容量、速度、變化、價(jià)值、真實(shí)性等方面的要求。需要在快速的時(shí)間內(nèi)手機(jī)大量的真實(shí)的信息,跟蹤數(shù)據(jù)的變化,得到有價(jià)值的建議。
2 大數(shù)據(jù)的工作意義及過(guò)程
數(shù)據(jù)如果放在哪里不用就沒(méi)有任何價(jià)值,甚至如果垃圾還占了大量的空間,大數(shù)據(jù)歸根結(jié)底還是要從數(shù)據(jù)中提取信息,通俗講,大數(shù)據(jù)就是處理大數(shù)據(jù),其過(guò)程可以通過(guò)以下流程圖來(lái)描述:
大數(shù)據(jù)就是從海量數(shù)據(jù)中去除無(wú)用數(shù)據(jù),經(jīng)過(guò)各種算法給客戶提供決策信息的過(guò)程。
3 什么是Hadoop
Hadoop是一個(gè)由Apatch基金開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。提供給用戶分布式程序,利用集群資源進(jìn)行高速數(shù)據(jù)處理、運(yùn)算、存儲(chǔ)的服務(wù)。Hadoop框架的核心有HDFS和MapReduce,HDFS(hadoop distributed file system),分布式文件系統(tǒng),通過(guò)高容錯(cuò)、低成本提供大數(shù)據(jù)集。而MapReduce為這些大數(shù)據(jù)集提供了處理能力。
總的來(lái)說(shuō),haddoop核心包括兩大塊,mapreduce提供任務(wù)分解和結(jié)果匯總,hdfs提供namenode文件管理和datanode文件存儲(chǔ)功能,由client進(jìn)行文件的獲取。
3.1 HDFS 分布式文件系統(tǒng)
HDFS是hadoop框架中數(shù)據(jù)存儲(chǔ)和管理的支撐,它高度容錯(cuò),能檢測(cè)和應(yīng)對(duì)硬件故障,在低成本的硬件上提供了高性價(jià)比的數(shù)據(jù)存儲(chǔ)和管理功能,通過(guò)流式數(shù)據(jù)訪問(wèn)提高吞吐量等應(yīng)用程序性能給一些大型數(shù)據(jù)集應(yīng)用程序提供數(shù)據(jù)資源。
Client提供切片訪問(wèn),與HDFS和數(shù)據(jù)主節(jié)點(diǎn)DataNode交互,讀取或者寫(xiě)入文件,在datanode中有一個(gè)主節(jié)點(diǎn)Masternode即NameNode,NameNode用來(lái)管理HDFS的名稱空間和數(shù)據(jù)集塊映射信息。
3.2 Mapreduce
MapReduce用以進(jìn)行大數(shù)據(jù)量的計(jì)算2,通過(guò)Map對(duì)數(shù)據(jù)集上的獨(dú)立元素進(jìn)行特定操作,將數(shù)據(jù)加工成K-V(Key-Value)對(duì),reduce對(duì)這個(gè)K-V對(duì)進(jìn)行規(guī)定約束以得到最終的結(jié)果。
其中TaskTracker作為從節(jié)點(diǎn),主要運(yùn)行Map任務(wù)和Reduce任務(wù),將結(jié)果與主節(jié)點(diǎn)JobTracker交互,通信任務(wù)狀態(tài)。主節(jié)點(diǎn)JobTracker將作業(yè)任務(wù)分解成一系列的任務(wù),并分派給TasckTracker,運(yùn)行后負(fù)責(zé)管理監(jiān)督所有作業(yè),對(duì)作業(yè)發(fā)生的錯(cuò)誤進(jìn)行處理。
每個(gè)TasckTracker的Map Task完成每條數(shù)據(jù)記錄的解析傳遞給用戶編寫(xiě)的Map函數(shù)執(zhí)行,將結(jié)果寫(xiě)入本地磁盤(pán)或者HDFS。而Reduce Task則從MapTask的執(zhí)行結(jié)果中,遠(yuǎn)程讀入數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行排序并分組傳遞給用戶編寫(xiě)的reduce函數(shù)執(zhí)行。
4 Hadoop的應(yīng)用與展望
國(guó)際上Yahoo是Hadoop的最大支持者,截至2012年,Yahoo的Hadoop機(jī)器總節(jié)點(diǎn)數(shù)目超過(guò)420000個(gè),有超過(guò)10萬(wàn)的核心CPU在運(yùn)行Hadoop。Facebook使用Hadoop存儲(chǔ)內(nèi)部日志與多維數(shù)據(jù),并以此作為報(bào)告、分析和機(jī)器學(xué)習(xí)的數(shù)據(jù)源。目前Hadoop集群的機(jī)器節(jié)點(diǎn)超過(guò)1400臺(tái),共計(jì)11?200個(gè)核心CPU,超過(guò)15PB原始存儲(chǔ)容量,每個(gè)商用機(jī)器節(jié)點(diǎn)配置了8核CPU,12TB數(shù)據(jù)存儲(chǔ)3。在國(guó)內(nèi),百度、360、阿里巴巴等軟件巨頭也在Hadoop應(yīng)用領(lǐng)域做了深入研究和開(kāi)發(fā),主要應(yīng)用與數(shù)據(jù)挖掘和分析,日志分析、數(shù)據(jù)倉(cāng)儲(chǔ)、推薦引擎、用戶行為分析等。
Hadoop在有效利用現(xiàn)有資源,對(duì)其進(jìn)行整合以達(dá)到高性能運(yùn)行服務(wù)的框架為企業(yè)和各行業(yè)客戶提供了極大的便利,作為一種技術(shù)性方向作用非常重要,在后期必定會(huì)吸引更多的資源加入hadoop的研究和拓展。
注釋:
1.百度百科https://baike.baidu.com/item/%E5%A4%A7%E6%95%B0%E6%8D%AE/1356941?fr=aladdin#reference-[1]-13647476-wrap
2.http://lib.csdn.net/article/hadoop/50993
3.https://blog.csdn.net/lienen/article/details/50460243
參考文獻(xiàn):
[1] Sanger F.Nicklen S. DNA sequencing with chain-terminating[P]. 1977,74:5463–5467.
[2] Struster SC.Next-generation sequencing transform todays biology[J].Nat Methods, 2008,5(1):16-18.
[3] 解增言,林俊華,譚軍,舒坤賢. DNA測(cè)序技術(shù)的發(fā)展歷史與最新進(jìn)展[J].生物技術(shù)通報(bào), 2010(08).
[4] Rusk N. Cheap third-generation sequecing[J]. Nature, 2011,6(4): 244-245.
[5] J. Craig Venter, Mark D. Adams, Eugene W. Myers. The Sequence of the Human Genome[J]. Science, 2001, 291(5507): 1304-1351.
[6] 于聘飛,王英,葛芹玉.高通量DNA測(cè)序技術(shù)及其應(yīng)用進(jìn)展[J].南京曉莊學(xué)院學(xué)報(bào),2010(5).
【通聯(lián)編輯:代影】