[bigdata]小象幫幫忙,Hadoop 能幫什麼忙?
https://dotblogs.com.tw/rickyteng/2012/12/11/85556 [bigdata]小象幫幫忙,Hadoop 能幫什麼忙? Hadoop 文獻探討
微軟暗示,全面增援 Apache Hadoop,這动静說明白: Hadoop 夠熱門,讓微軟無法抵擋。俗話說:「打不動,就插手」,現在微軟就插手了。?? 最近熱門關鍵字,從雲端,換成 Big Data,有翻譯成「巨量資料」、有翻譯成「海量資料」,?? 何謂Big Data?這問題今朝沒辦法正面答复,因為個人認為現在這東西還在成長變化中,?? 「因為雲端時代的來臨,資料量增进的速率很是快,以是必要一些新要领來應付這些資料。?? 其實,這還是很恍惚的描写。以是,只能知道,巨量資料並不是溘然跑出來的東西。但「巨量資料」這個名詞是為了利便討論某些情況下,行使某些技術而產生的新名詞。巨量資料並不是每一個人或每一個企業都會面臨到的,有手段產生上面描写的 3V 的資料,才會有必要行使到巨量資料的技術。 因此,接下來,我們反過來,從被微軟納入解決方案焦点的 Hadoop 來看。看 Hadoop 能夠解決什麼問題,至少可以相识,巨量資料或许是什麼東西。 Hadoop 提供的焦点成果有二,名字叫 HDFS 以及 MapReduce。HDFS 是 Hadoop Distributed File System 的縮寫。MapReduce 則是 Hadoop 採用分手式計算的技術。也就是,它根基上要解決的問題有兩個,一個是儲存,一個是計算。 在 HDFS 的設計观念是這樣的。在一群電腦裡面,找一台電腦當老大,叫做 Master Node。它必須負責打点全部的電腦(包括本身)的資料的存放狀態、节制讀寫動作。以是裝了一個程式叫 Name Node 來做打点這件事。也裝了一個 Data Node 的程式來放資料。其他的電腦,叫做 Worker Node,裝了一個 Data Node 的程式來放資料。放資料的規則是,先把一個檔案,切成數個小塊(block),每塊為 64 MB,然後, Name Node 會讓檔案塊,分手到各個差异的 Data Node 去,并且,還會讓整個電腦叢集裡,每一個檔案塊,都有三份。如果 Name Node 發現檔案塊遺失或損壞,會開始尋找其他的 Data Node 上的副本來複製,使得整個電腦叢集維持每個檔案塊的數量都有三份。 從以上的設計慨念裡,可以知道:(1)它不怕單一資料存放區的硬體壞掉,壞掉照常事变,並自動回復、(2)它不怕單一檔案的巨细超過一個磁碟區的巨细、(3)資料存放區的巨细,可以動態增进。(註1) 註1:http://www.classcloud.org/cloud/wiki/Hadoop_Lab8 要講 MapReduce 的設計观念,先講解一下,MapReduce 是什麼。在 functional language 裡面可常見到這個字。它其實是兩個英笔墨連起來的。也就是 Map 及 Reduce。?? int[] A = { 1,2,3,4,5,6,7,8,9,10 };?? for (int i = 0; i < A.Length; i++)?? 這程式裡面看到,數列A、數列B,還有函數 f。剩下來的是那個迴圈,它的動作是把每個數列A的數值,經過函數 f 获得的值,放到數列B 對應的位置。只要是可以完成這一類工作的函數,就叫做 Map 函數。這種函數的特色就是可以平行咚恪R陨鲜龅睦?樱? (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |