自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文讀懂大數(shù)據(jù)的黃色小象幫手——Hadoop

大數(shù)據(jù) Hadoop
繼云計(jì)算之后,大數(shù)據(jù)(Big Data)接棒成為最熱門的科技潮字,和大數(shù)據(jù)有關(guān)的技術(shù)和科技接二連三成為科技圈注目的焦點(diǎn)。如果你也關(guān)注云端跟大數(shù)據(jù)的資訊,Hadoop 這個字出現(xiàn)頻率一定挺高的,這個黃色小象 Logo 也應(yīng)該經(jīng)常亮相。

繼云計(jì)算之后,大數(shù)據(jù)(Big Data)接棒成為最熱門的科技潮字,和大數(shù)據(jù)有關(guān)的技術(shù)和科技接二連三成為科技圈注目的焦點(diǎn)。如果你也關(guān)注云端跟大數(shù)據(jù)的資訊,Hadoop 這個字出現(xiàn)頻率一定挺高的,這個黃色小象 Logo 也應(yīng)該經(jīng)常亮相。

 

一文讀懂大數(shù)據(jù)的黃色小象幫手——Hadoop

 

究竟 Hadoop 是什么?能夠用來解決什么問題?又為什么重要?比起解釋一大堆技術(shù)上的細(xì)節(jié),倒不如把重點(diǎn)放在 Hadoop 處理巨量資料的角度切入了解,看 Hadoop 能夠帶來什么好處,同時也從這個方向反過來理解大數(shù)據(jù)。

Hadoop 的雛形 Nutch 最初是由 Doug Cutting 和 Mike Cafarella 針對網(wǎng)頁相關(guān)的資料搜尋而開發(fā),2006 年 Doug Cutting 進(jìn)入 Yahoo 后成立了專業(yè)的團(tuán)隊(duì)繼續(xù)研究發(fā)展這項(xiàng)技術(shù),正式命名為 Hadoop。

Hadoop 這個名稱并不代表任何英文字匯或者縮寫代號,「Hadoop」來自于 Doug Cutting 兒子的一個黃色大象填充玩具1,主要塬因是開發(fā)過程中他需要為這套軟體提供一個代號方便溝通,而 Hadoop 這個名字發(fā)音簡單拼字容易,而且毫無意義、也沒有在任何地方使用過,因此雀屏中選,黃色小象也因而成為 Hadoop 的標(biāo)誌。

值得一提的是,在 Hadoop 之后所發(fā)展的幾個相關(guān)軟件和模組也都參考了這樣的命名方式,名稱不會與主要功能實(shí)際相關(guān),而是採用與大象或其他動物有關(guān)的名稱作為其開發(fā)代號,像是 Pig、Hive、ZooKeeper 等等。

 

[[129607]]

 

什么是 Hadoop?

首先,想像有個檔案大小超過 PC 能夠儲存的容量,那便無法儲存在你的電腦裡,對吧?

Hadoop 不但讓你儲存超過一個伺服器所能容納的超大檔案,還能同時儲存、處理、分析幾千幾萬份這種超大檔案,所以每每提到大數(shù)據(jù),便會提到 Hadoop 這套技術(shù)。

簡單來說,Hadoop 是一個能夠儲存并管理大量資料的云端平臺,為 Apache 軟體基金會底下的一個開放塬始碼、社群基礎(chǔ)、而且完全免費(fèi)的軟體,被各種組織和產(chǎn)業(yè)廣為採用,非常受歡迎。

#p#

而要懂 Hadoop,你必須先了解它最主要的兩項(xiàng)功能:

Hadoop 如何儲存資料(Store)

Hadoop 怎么處理資料(Process)

分散式檔案系統(tǒng) HDFS

Hadoop 是一個叢集系統(tǒng)(cluster system),也就是由單一伺服器擴(kuò)充到數(shù)以千計(jì)的機(jī)器,整合應(yīng)用起來像是一臺超級電腦。而資料存放在這個叢集中的方式則是採用 HDFS 分散式檔案系統(tǒng)(Hadoop Distributed File System)。

HDFS 的設(shè)計(jì)概念是這樣的,叢集系統(tǒng)中有數(shù)以千計(jì)的節(jié)點(diǎn)用來存放資料,如果把一份檔案想成一份藏寶圖,機(jī)器中會有一個機(jī)器老大(Master Node)跟其他機(jī)器小弟(Slave/Worker Node),為了妥善保管藏寶圖,先將它分割成數(shù)小塊(block),通常每小塊的大小是 64 MB,而且把每小塊拷貝成叁份(Data replication),再將這些小塊分散給小弟們保管。機(jī)器小弟們用「DataNode」這個程式來放藏寶圖,機(jī)器老大則用「NameNode」這個程式來監(jiān)視所有小弟們藏寶圖的存放狀態(tài)。

如果老大的程式 NameNode 發(fā)現(xiàn)有哪個 DataNode 上的藏寶圖遺失或遭到損壞(例如某位小弟不幸陣亡,順帶藏寶圖也丟了),就會尋找其他 DataNode 上的副本(Replica)進(jìn)行復(fù)製,保持每小塊的藏寶圖在整個系統(tǒng)都有叁份的狀態(tài),這樣便萬無一失。

 

一文讀懂大數(shù)據(jù)的黃色小象幫手——Hadoop

 

透過 HDFS,Hadoop 能夠儲存上看 TB(Tera Bytes)甚至 PB(Peta Bytes)等級的巨量資料,也不用擔(dān)心單一檔案的大小超過一個磁碟區(qū)的大小,而且也不用擔(dān)心某個機(jī)器損壞導(dǎo)致資料遺失。

來看看 Yahoo 的 Hadoop cluster 系統(tǒng):

 

[[129608]]

 

MapReduce 平行運(yùn)算架構(gòu)

上一段提到,HDFS 將資料分散儲存在 Hadoop 電腦叢集中的數(shù)個機(jī)器裡,現(xiàn)在我們要談?wù)?Hadoop 如何用 MapReduce 這套技術(shù)處理這些節(jié)點(diǎn)上的資料。

在函數(shù)程式設(shè)計(jì)(Functional programming)3中很早就有了 Map(映射)和 Reduce(歸納)的觀念,類似于演算法中個別擊破(Divide and Conquer)的作法,也就是將問題分解成很多個小問題之后再做總和。

MapReduce 顧名思義是以 Map 跟 Reduce 為基礎(chǔ)的應(yīng)用程式。一般我們進(jìn)行資料分析處理時,是將整個檔案丟進(jìn)程式軟體中做運(yùn)算出結(jié)果,而面對巨量資料時,Hadoop 的做法是採用分散式計(jì)算的技術(shù)處理各節(jié)點(diǎn)上的資料。

在各個節(jié)點(diǎn)上處理資料片段,把工作分散、分佈出去的這個階段叫做 Mapping;接下來把各節(jié)點(diǎn)運(yùn)算出的結(jié)果直接傳送回來歸納整合,這個階段就叫做 Reducing。這樣多管齊下、在上千臺機(jī)器上平行處理巨量資料,可以大大節(jié)省資料處理的時間。

黃色小象以及小象的朋友們

總和來看,Hadoop 透過 HDFS 和 MapReduce 這兩項(xiàng)核心功能,解決了檔案存放的問題、解決了系統(tǒng)擴(kuò)張的問題、解決了系統(tǒng)備份的問題、解決了資料處理的問題,非常適合應(yīng)用于大數(shù)據(jù)儲存和大數(shù)據(jù)分析,因此被廣泛接受成為大數(shù)據(jù)的主流技術(shù)。

當(dāng)然 Hadoop 并沒有解決所有巨量資料帶來的難題,所以許多與 Hadoop 相關(guān)的技術(shù)被開發(fā)來應(yīng)付巨量資料的其他需求4。像是用來處理資料的 script 語言「Pig」、類似 SQL 語法查詢功能的「Hive」、專門用在 Hadoop 上的資料庫系統(tǒng)「HBase」等。

Hadoop 生態(tài)系:

 

一文讀懂大數(shù)據(jù)的黃色小象幫手——Hadoop

 

對 Hadoop 有初步的認(rèn)識后,如果想進(jìn)一步學(xué)習(xí)相關(guān)的大數(shù)據(jù)技術(shù),可以參考《成為大數(shù)據(jù)時代的精英學(xué)子:Big Data 的推薦好課!》一文,其中列出了許多線上的 Hadoop 推薦好課。

責(zé)任編輯:王雪燕 來源: 數(shù)據(jù)分析精選
相關(guān)推薦

2014-04-29 09:59:44

2018-04-03 13:08:31

2018-03-17 09:00:21

大數(shù)據(jù) 區(qū)塊鏈

2024-12-27 14:45:59

2021-07-05 10:48:42

大數(shù)據(jù)實(shí)時計(jì)算

2017-05-05 12:59:00

大數(shù)據(jù)物聯(lián)網(wǎng)安全

2022-10-20 08:01:23

2024-05-07 08:49:36

Hadoop數(shù)據(jù)存儲-分布式存儲

2019-01-30 09:30:50

大數(shù)據(jù)互聯(lián)網(wǎng)人工智能

2022-08-27 10:37:48

電子取證信息安全

2019-11-29 17:26:56

大數(shù)據(jù)分布式計(jì)算技術(shù)

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領(lǐng)云

2023-06-19 13:57:00

數(shù)據(jù)系統(tǒng)

2017-06-02 15:32:09

大數(shù)據(jù)數(shù)據(jù)可視化

2018-09-28 14:06:25

前端緩存后端

2022-09-22 09:00:46

CSS單位

2022-11-06 21:14:02

數(shù)據(jù)驅(qū)動架構(gòu)數(shù)據(jù)

2025-04-03 10:56:47

2022-05-04 17:43:28

元數(shù)據(jù)大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號