(宿州學院信息工程學院 安徽 宿州 234000)
大數(shù)據(jù)作為一項技術發(fā)展已不再新奇,雖然現(xiàn)在淘汰也很迅速,但是基于大數(shù)據(jù)技術的應用早幾年就非常火熱,而且作為一項發(fā)展前景廣闊的技術,熱度目前還會持續(xù)上升還不會下降,所以做大數(shù)據(jù)處理是很有研究價值的。
此次研究目的是將大量的數(shù)據(jù)進行分析統(tǒng)計利用將該技術在功能上、精確性等方面還有待進一步完善,我們將Hadoop采取在Centos7下將分部式集群搭建完成。啟用hdfs來存儲數(shù)據(jù),將要處理的數(shù)據(jù)存入hdfs中。在Centos7中安裝eclipse及搭建相關java環(huán)境,將Hadoop的包導入java項目中。在Hadoop中使用MapReduce類來處理數(shù)據(jù)。
數(shù)據(jù)量越來越大,在大量的數(shù)據(jù)中發(fā)掘有用的信息顯得越來越重要。人類的活動越來越依賴數(shù)據(jù):(1)人類的日常生活已經(jīng)與數(shù)據(jù)密不可分;(2)科學研究進入了“數(shù)據(jù)科學”時代;(3)各行各業(yè)開展工作也越來越依賴大數(shù)據(jù)手段。
MapReduce是一種分布式計算模型,而對于Hadoop來說,MapReduce是一個分布式計算框架。概括來說MapReduce的主要是想是把大的任務分解成很多小的任務,來并執(zhí)行的這些小的任務,從而達到能能快速處理完這些任務的目的。
MapReduce的組成有兩個階段
map():任務分解。
reduce():結(jié)果匯總。
map、reduce這兩個函數(shù)的形參是key、value。
Map Reduce根據(jù)需要有兩種任務模式。一個是用Reducer實現(xiàn)的本地模式。另一個是用Runner實現(xiàn)的Yarn模式。其主要任務是在客戶端啟動一個作業(yè),提交作業(yè)到資源管理任務調(diào)試請求一個Job ID,將運行所需資源文件復制到HDFS,用多個Map將數(shù)據(jù)分解處理,再到Reduce里整理處理的數(shù)據(jù),存放到HDFS,每隔一段時間完成一次運行。
mapper中,定義的map通過處理hive中或者本地的數(shù)據(jù)解析成鍵/值對來產(chǎn)生多個鍵/值對結(jié)果。鍵/值的處理效率是很高的,選擇對MapReduce作業(yè)的完成效率來說非常重要。鍵是分組的依據(jù),值是分析的數(shù)據(jù)。
reduce是將mapper處理的數(shù)據(jù)作為輸入,依次為每個鍵對應分組執(zhí)行此函數(shù)。reduce函數(shù)的輸入是鍵以及此鍵對應的迭代器。
1.一個HDFS集群是由一個NameNode和若干個DataNode組成。
2.NameNode作為主服務器管理整個文件系統(tǒng)的命名空間和客戶端訪問操作。
3.DataNode管理存儲數(shù)據(jù)塊。
4.文件會按照固定的大小(blocksize)切成若干塊后分布式存儲在若干臺datanode上。
5.每一個文件塊可以有多個副本,并存放在不同的datanode上。
6.Datanode會定期向Namenode匯報自身所保存的文件block信息,而namenode則會負責保持文件的副本數(shù)量。
7.HDFS的內(nèi)部工作機制對客戶端保持透明,客戶端請求訪問HDFS都是通過向namenode申請來。
查看文件
[root@hadoop11 ~]# cat /simple/words.txt
all at once
all but
all of a sudden
all over again
all over

運算結(jié)果
[root@hadoop11 ~]# hdfs dfs -cat /output14/part-r-0000
a 1
again 1
all 5
at 1
but 1
of 1
over 2
once 1
sudden 1
社會進步需要大數(shù)據(jù)、云計算的發(fā)展。在推動數(shù)據(jù)資源共享開放和開發(fā)應用上大數(shù)據(jù)處理技術都占著很大的地位。超大規(guī)模計算和海量數(shù)據(jù)的分析將可以在大數(shù)據(jù)開發(fā)過程中實現(xiàn),復雜度較高、精密度較高的信息處理都可以在短時間內(nèi)完成。下一步我們將繼續(xù)深度研究數(shù)據(jù)處理,而像分析、成功率計算等都將會更加準確。并且可以根據(jù)客戶需求高度自由的數(shù)據(jù)互動,通過分析數(shù)模預測進行推送。Hadoop技術雖然已經(jīng)被廣泛應用,不管是在功能上還是穩(wěn)定性等方面,此技術還有待進一步改進。因此我們不論是在開發(fā)的過程中還是升級維護中,都將有新的功能不斷地添加和引入。