白話大數(shù)據(jù) | hadoop究竟是什么鬼
【數(shù)據(jù)猿導(dǎo)讀】 為了和廣大吃瓜群眾融為一體,我們特別推出了《白話大數(shù)據(jù)》系列,從此麻麻再也不用擔(dān)心我看不懂啦,今天先推第一集《Hadoop究竟是個什么鬼》

為了和廣大吃瓜群眾融為一體,我們特別推出了《白話大數(shù)據(jù)》系列,從此麻麻再也不用擔(dān)心我看不懂啦,今天先推第一集《Hadoop究竟是個什么鬼》!
十年前還沒有Hadoop,幾年前國內(nèi)IT圈里還在摸索Hadoop,現(xiàn)在幾乎很多大型企業(yè)的IT系統(tǒng)中有已經(jīng)有了Hadoop的集群在運(yùn)行了各式各樣的任務(wù)。然而即使在Hadoop如此流行的今天,說起Hadoop噢,就是講大數(shù)據(jù)的辣個東東嘛!
所以充滿了使命感的我們,是時候站出來解釋一下了!!建立在大數(shù)據(jù)背景之下當(dāng)然,要解釋清楚什么是Hadoop那得要從大數(shù)據(jù)說起。 在20多年前,也就是上個世紀(jì)90年代,數(shù)據(jù)大量產(chǎn)生(也并不是之前沒有這么多數(shù)據(jù),而是由于科學(xué)技術(shù)的原因,這些日常生活中的數(shù)據(jù)轉(zhuǎn)瞬即逝并沒有被人們記錄下來),這個“大量產(chǎn)生”有多么夸張呢,現(xiàn)在的數(shù)據(jù)量相當(dāng)于之前數(shù)據(jù)量的上百上千倍!
數(shù)據(jù)如此快速地增長勢必帶來一些問題,我們先來做一道小學(xué)3年級的應(yīng)用題,請聽題:90年代的數(shù)據(jù)量相當(dāng)于10個零件,一個小朋友1分鐘走一趟搬1個零件,花10分鐘可以搬走這些零件;90年代以后的數(shù)據(jù)量相當(dāng)于10000個零件,這個小朋友也長大了,他1分鐘走一趟可以搬4個零件,那么要搬走這些零件要花多長時間呢?
答案是2500分鐘! 也就是說,數(shù)據(jù)讀取技術(shù)的發(fā)展完全跟不上數(shù)據(jù)量的增長速度啦!
于是聰明的我們就用到了分布式——是整個Hadoop的核心思路。2運(yùn)用分布式解決單體能力有限的問題什么是分布式?一個很淺顯的道理,我們完全沒必要培養(yǎng)一個1分鐘能搬100個人零件的壯漢,那也不太現(xiàn)實(shí)1個人搬零件搬得太慢我們可以請10個人呀,再不行就請100個人、1000個人,這就是所謂的分布式。 但隨著零件數(shù)的增加問題,如何處理好這么多零件呢?3Hadoop核心設(shè)計:HDFS和MapReduce我們首先要分配好這些零件。
大數(shù)據(jù)時代我們面臨的是以TB、PB甚至EB為單位的數(shù)據(jù),因此,我們需要建立一個既能存的下如此大量的數(shù)據(jù),而且還能高速高效地讀寫文件的文件管理系統(tǒng)——HDFS。HDFS也就是Hadoop分布式文件系統(tǒng),將一份巨型的文件分散到多臺存儲設(shè)備中,并配合一個調(diào)度程序來管理這些文件。那么HDFS是如何運(yùn)作的呢?先聽個故事某零件廠的老板(客戶Client)手里有一大批零件要存放。
然而一個單獨(dú)的倉庫根本無法存放如此之多的零件。于是老板想到了建立一個倉庫集群(HDFS),把自己的零件分批存放在不同的倉庫(主機(jī)host)里,再建立一個覆蓋所有倉庫的管理系統(tǒng)。 老板現(xiàn)將這批零件分裝成小包,每個小包都可以放進(jìn)任意一個倉庫,小包的存放信息會被包工頭記錄下來。
包工頭(NameNode)是整個倉庫的監(jiān)視者也是分配者,他監(jiān)視這倉庫集群里所有的倉庫和倉庫里的奴隸(DataNode)。當(dāng)他收到老板的命令之后,他會現(xiàn)將老板提供的所有小包的信息和存放位置記錄下來,然后看一眼哪些倉庫里有空閑的奴隸(DataNode)可以去保管。包工頭一直監(jiān)視著各個倉房的狀態(tài)和奴隸們的狀態(tài),他通過感受奴隸們是否還有心跳(heartbeat)來判斷奴隸是否還活著。一旦某個看管貨物的奴隸死了,包工頭就會命令同倉房一個空閑的活著的奴隸去頂替他的位置。 具體的流程圖是這樣的:
當(dāng)文件都通過HDFS存放好之后,我們就要考慮如何來利用這些數(shù)據(jù)了。人們常常通過數(shù)據(jù)之間的關(guān)聯(lián)來挖掘出數(shù)據(jù)中的潛在價值,而雜亂無章的數(shù)據(jù)會對數(shù)據(jù)挖掘產(chǎn)生很大的阻礙。這時候就需要建立一個編程模型來對數(shù)據(jù)進(jìn)行排序整理,這就是Hadoop的另一個核心——Mapreduce。我們再來看另外一個故事:依舊還是那個零件廠老板,一天他突然要求,將他所有的零件全部按種類統(tǒng)計數(shù)量。
老板采取了以下措施:1.雇傭管理員和大量的清點(diǎn)員。2.管理員指揮清點(diǎn)員去把每個小包都拆開然后清點(diǎn)每個小包中包含的零件和個數(shù),例如:清點(diǎn)員1清點(diǎn)小包1:零件A,1個;零件B,2個;零件C,1個;零件D,2個。清點(diǎn)員2清點(diǎn)小包2:零件A ……(這就是Map)3.雇傭整理員整理員1只負(fù)責(zé)整理零件A和零件B的數(shù)量整理員2只負(fù)責(zé)整理零件C和零件D的數(shù)量……4.清點(diǎn)員們向整理員匯報。例如:清點(diǎn)員1向整理員1匯報小包1里有A,1個;B,2個向整理員2匯報小包1里有C,1個;D,2個然后清點(diǎn)員2匯報……5.整理員把自己收到的信息匯總,例如:整理員1總共有A,n個,總共有B,m個;整理員2說……(Reduce)
總體說來,HDFS是Hadoop的儲存基礎(chǔ),是數(shù)據(jù)層面的,提供儲存海量數(shù)據(jù)的方法(分布式儲存)。而MapReduce,是一種引擎或是一種編程模型,可以理解為數(shù)據(jù)的上一層,我們可以通過編寫MapReduce程序?qū)DFS中海量的數(shù)據(jù)進(jìn)行計算處理(分布統(tǒng)計整合)。這就類似于我們通過MapReduce(讀取)所有文件(HDFS)并進(jìn)行統(tǒng)計,從而找到我們想要的結(jié)果。
所以說Hadoop是一種能幫助我們大量儲存數(shù)據(jù)并且能處理數(shù)據(jù)的工具。 (好像又很多名詞了........) 其實(shí)HDFS和MapReduce僅僅只是Hadoop最基礎(chǔ)的部分(其余的我們會在后續(xù)的文章中慢慢提到)。Hadoop從2006年誕生至今的十年里,已經(jīng)經(jīng)歷了數(shù)次更新,更是開發(fā)出了多種延伸功能。各種以Hadoop為基礎(chǔ)開發(fā)產(chǎn)品的公司早已遍布世界各地,各種Hadoop技術(shù)應(yīng)用的案例也是數(shù)不勝數(shù)。所以小編想告訴大家:不要將Hadoop想象得遙不可及,Hadoop早已成為我們生活的一部分。
來源:星環(huán)科技
刷新相關(guān)文章
我要評論
活動推薦more >
- 2018 上海國際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國際計算機(jī)網(wǎng)絡(luò)及信2018-12-03
- 中國國際信息通信展覽會將于2018-09-26
- 第五屆FEA消費(fèi)金融國際峰會62018-06-21
- 第五屆FEA消費(fèi)金融國際峰會2018-06-21
- “無界區(qū)塊鏈技術(shù)峰會2018”2018-06-14
不容錯過的資訊
-
1#后疫情時代的新思考#疫情之下,關(guān)于醫(yī)
-
2數(shù)據(jù)軟件產(chǎn)品和服務(wù)商DataHunter完成B輪
-
3眾盟科技獲ADMIC 2020金粲獎“年度汽車
-
4數(shù)據(jù)智能 無限未來—2020世界人工智能大
-
5#2020非凡大賞:數(shù)字化風(fēng)起云涌時,共尋
-
6#榜樣的力量#天璣數(shù)據(jù)大腦疫情風(fēng)險感知
-
7#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
8#榜樣的力量#實(shí)時新型肺炎疫情數(shù)據(jù)小程
-
9#榜樣的力量#華佗疫情防控平臺丨數(shù)據(jù)猿
-
10#后疫情時代的新思考#構(gòu)建工業(yè)互聯(lián)網(wǎng)新