大資料時代 為什麼用HADOOP?

2022-05-07 02:54:13 字數 2290 閱讀 2218

**自:

「大」,說的並不僅是資料的「多」!不能用資料到了多少tb ,多少pb 來說。

對於大資料,可以用四個詞來表示:大量,多樣,實時,價值。

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

有價值: 資料中,存在著價值。資料,也有可能創造價值。

1儲存大量資料

2快速的處理大量資料

3從大量資料中進行分析,以產生價值

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

hadoop的歷史就不說了。

(上圖為hadoop1.x的布局)

(hadoop2.x較hadoop1.x,多了yarn)

hadoop框架,是乙個龐大的生態系統。

或者我們可以這樣理解:

可以把整個體系,看成乙個作業系統xp,win7,win8,win10。

hdfs和mapreduce為作業系統的核心,hive,pig,mathout,zookeeper,flume,sqoop,hbase等,都是作業系統上的一些軟體,或應用。

從名字上就看出了它的兩點功能。基本功能,存檔案,是乙個檔案系統;另外這個檔案系統是分布式的;

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

rack1,rack2,rack3是三個機架;

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

block a, block b, block c為三個資訊塊,也就是要存的資料。

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

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

另外,從別的資料看到一種解釋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.

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

框架開源的,免費的,伺服器也不用特別牛x的。(廉價的商用伺服器——這裡說的是 「廉價」,「商用」,也就是不用買小型機那些東西,但是還得是商用的。正式生產環境,不能用普通的pc。)

省錢才是硬道理。(hadoop就行php開發lamp一樣,工具免費,但是人力資源成本,也是需要考慮的。)

為了更好的了解大資料,先區別一下幾個經常見到的詞語。

雲計算(cloudcomputing)是基於網際網路的相關服務的增加、使用和交付模式,通常涉及通過網際網路來提供動態易擴充套件且經常是虛擬化的資源。

雲計算可以認為包括以下幾個層次的服務:基礎設施即服務(iaas),平台即服務(paas)和軟體即服務(saas)。

iaas(infrastructure-as-a- service):基礎設施即服務。消費者通過internet可以從完善的計算機基礎設施獲得服務。例如:硬體伺服器租用。

paas:平台即服務

paas(platform-as-a- service):平台即服務。paas實際上是指將軟體研發的平台作為一種服務,以saas的模式提交給使用者。因此,paas也是saas模式的一種應用。但是,paas的出現可以加快saas的發展,尤其是加快saas應用的開發速度。例如:軟體的個性化定製開發。

saas:軟體即服務

saas(software-as-a- service):軟體即服務。它是一種通過internet提供軟體的模式,使用者無需購買軟體,而是向提供商租用基於web的軟體,來管理企業經營活動。例如:陽光雲伺服器。

現在用的hadoop是位於雲計算中paas一層。

大資料(big data),或稱巨量資料,大的資料需要特殊的技術,以有效地處理大量的容忍經過時間內的資料。

①、公有雲是放在internet上的,只要是註冊使用者、付費使用者都可以用;

②、私有雲是放在私有環境中的,比如企業、**、組織等等自己在機房中建立的,或者是運營商建設好,但是整體租給某一組織的。企業、組織、**等之外的使用者無法訪問或無法使用;

③、混合雲是公有雲和私有雲的混合,大多數是指私有雲建設好了,但是很多資源(計算能力或儲存空間)不夠用,所以還得動態的在公網上申請公有雲作為自己私有雲的補充。

python為什麼用flask 為什麼用flask

flask是python在web開發領域乙個輕量級的框架,為什麼選擇flask呢?此文可能會給你答案。選擇flask的原因 1.微框架 簡潔 只做它需要做的,給開發展提供了很大的擴充套件性。2.flask和相關的依賴 jinja2 werkzeug 設計得非常優秀,用著簡單。3.開發效率非常高,比如...

為什麼用css sprites

在分析各個 的css時,我們經常可以看到一些 有很多的元素共享了一張背景,而這張背景包含了所有這些元素需要的背景,這種技術就叫做css sprites。例如 的css sprites url是 這樣做有什麼好處呢?顯而易見,瀏覽器在載入每一張的時候都會發起乙個http請求。如果使用css sprit...

為什麼用指標

相信接觸過程式設計的,大部分應該對c語言有一定了解或者學過一門c語言課程。或多或少聽到這種說法 c語言很難學,特別是指標。我大一下學期開的這門課,學完之後感覺還好 其實是我沒有深入學,典型的自我感覺良好 但指標那塊確實也沒太弄明白。現在好像明白了一點什麼是指標,在什麼情況下用比較好。int a 1 ...