【Hadoop】大數據時代,我們為什么使用hadoop


博客已轉移,請借一步說話。http://www.daniubiji.cn/archives/538

 

我們先來看看大數據時代,

什么叫大數據,“大”,說的並不僅是數據的“多”!不能用數據到了多少TB ,多少PB 來說。

對於大數據,可以用四個詞來表示:大量,多樣,實時,不確定。

也就是數據的量龐大,數據的種類繁雜多樣話,數據的變化飛快,數據的真假存疑。

大量:這個大家都知道,想百度,淘寶,騰訊,Facebook,Twitter等網站上的一些信息,這肯定算是大數據了,都要存儲下來。

多樣:數據的多樣性,是說數據可能是結構型的數據,也可能是非結構行的文本,圖片,視頻,語音,日志,郵件等。

實時:大數據需要快速的,實時的進行處理。如果說對時間要求低,那弄幾個機器,對小數據進行處理,等個十天半月的出來結果,這樣也沒有什么意義了。

不確定: 數據是存在真偽的,各種各樣的數據,有的有用,有的沒用。很難辨析。

 

根據以上的特點,我們需要一個東西,來:

1存儲大量數據

2快速的處理大量數據

3從大量數據中進行分析

 

於是就有了這樣一個模型hadoop。

hadoop的歷史就不說了。先來看看模型。

 

這就相當於一個生態系統,或者可以看成一個操作系統XP,win7.

HDFS和MapReduce為操作系統的核心,Hive,Pig,Mathout,Zookeeper,Flume,Sqoop,HBase等,都是操作系統上的一些軟件,或應用。

 

HDFS:(Hadoop Distributed File System),Hadoop分布式文件系統。從名字上就看出了它的兩點功能。

基本功能,存文件,是一個文件系統;另外這個文件系統是分布式的;

從圖上來看,HDFS的簡單原理。

Rack1,Rack2,Rack3是三個機架;

1,2,3,4,5,6,7,8,9,10,11,12 是機架上的十二台服務器。

Block A, Block B, Block C為三個信息塊,也就是要存的數據。

 

從整體布局上來看,信息塊被分配到機架上。看似很均勻。這樣分配的目的,就是備份,防止某一個機器宕機后,單點故障的發生。

 

MapReduce,(Map + Reduce),就看成是計算的功能。可以對數據進行處理。

它加快了計算。主要也是通過上圖的布局。將數據分布到多個服務器上。當有任務了,比如查詢,或者比較大小,先讓每台服務器,都處理自己的存儲中文件。然后再將所有服務器的處理結果進行第二次處理。最后將結果返回。

 

其實,hadoop還有一點好處,就是省錢。

框架開源的,免費的,服務器也不用特別牛X的。

省錢才是硬道理。

 

 

 另外,從別的資料看到一種解釋mapreduce的方式,很簡單

 

Goal: count the number of books in the library.

Map: You count up shelf #1, I count up shelf #2.

(The more people we get, the faster this part goes. )

Reduce: We all get together and add up our individual counts.

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM