2023-01-28 認識大數(shù)據(jù)

認識大數(shù)據(jù)

什么是大數(shù)據(jù)寝优?

大數(shù)據(jù)(big data),或稱巨量資料枫耳,指的是所涉及的資料量規(guī)模巨大到無法透過主流軟件工具乏矾,在合理時間內(nèi)達到擷取、管理、處理钻心、并整理成為幫助企業(yè)經(jīng)營決策更積極目的的資訊凄硼。
在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大數(shù)據(jù)時代》中大數(shù)據(jù)指不用隨機分析法(抽樣調(diào)查)這樣捷徑,而采用所有數(shù)據(jù)進行分析處理扔役。大數(shù)據(jù)的5V特點(IBM提出):Volume(大量)帆喇、Velocity(高速)、Variety(多樣)亿胸、Value(低價值密度)、Veracity(真實性)预皇。

定義:

對于“大數(shù)據(jù)”(Big data)研究機構(gòu)Gartner給出了這樣的定義侈玄。“大數(shù)據(jù)”是需要新處理模式才能具有更強的決策力吟温、洞察發(fā)現(xiàn)力和流程優(yōu)化能力來適應(yīng)海量序仙、高增長率和多樣化的信息資產(chǎn)。

麥肯錫全球研究所給出的定義是:一種規(guī)模大到在獲取鲁豪、存儲潘悼、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫軟件工具能力范圍的數(shù)據(jù)集合爬橡,具有海量的數(shù)據(jù)規(guī)模治唤、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價值密度低四大特征糙申。

大數(shù)據(jù)技術(shù)的戰(zhàn)略意義不在于掌握龐大的數(shù)據(jù)信息宾添,而在于對這些含有意義的數(shù)據(jù)進行專業(yè)化處理。換而言之柜裸,如果把大數(shù)據(jù)比作一種產(chǎn)業(yè)缕陕,那么這種產(chǎn)業(yè)實現(xiàn)盈利的關(guān)鍵,在于提高對數(shù)據(jù)的加工能力疙挺,通過“加工”實現(xiàn)數(shù)據(jù)的“增值”扛邑。

從技術(shù)上看,大數(shù)據(jù)與云計算的關(guān)系就像一枚硬幣的正反面一樣密不可分铐然。大數(shù)據(jù)必然無法用單臺的計算機進行處理蔬崩,必須采用分布式架構(gòu)。它的特色在于對海量數(shù)據(jù)進行分布式數(shù)據(jù)挖掘锦爵。但它必須依托云計算的分布式處理舱殿、分布式數(shù)據(jù)庫和云存儲、虛擬化技術(shù)险掀。

隨著云時代的來臨沪袭,大數(shù)據(jù)(Big data)也吸引了越來越多的關(guān)注。分析師團隊認為,大數(shù)據(jù)(Big data)通常用來形容一個公司創(chuàng)造的大量非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)冈绊,這些數(shù)據(jù)在下載到關(guān)系型數(shù)據(jù)庫用于分析時會花費過多時間和金錢侠鳄。大數(shù)據(jù)分析常和云計算聯(lián)系到一起,因為實時的大型數(shù)據(jù)集分析需要像MapReduce一樣的框架來向數(shù)十死宣、數(shù)百或甚至數(shù)千的電腦分配工作伟恶。

大數(shù)據(jù)需要特殊的技術(shù),以有效地處理大量的容忍經(jīng)過時間內(nèi)的數(shù)據(jù)毅该。適用于大數(shù)據(jù)的技術(shù)博秫,包括大規(guī)模并行處理(MPP)數(shù)據(jù)庫、數(shù)據(jù)挖掘眶掌、分布式文件系統(tǒng)挡育、分布式數(shù)據(jù)庫、云計算平臺朴爬、互聯(lián)網(wǎng)和可擴展的存儲系統(tǒng)即寒。

最小的基本單位是bit,按順序給出所有單位:bit召噩、Byte母赵、KB、MB具滴、GB凹嘲、TB、PB抵蚊、EB施绎、ZB、YB贞绳、BB谷醉、NB、DB冈闭。
它們按照進率1024(2的十次方)來計算:
1 Byte =8 bit
1 KB = 1,024 Bytes = 8192 bit
1 MB = 1,024 KB = 1,048,576 Bytes
1 GB = 1,024 MB = 1,048,576 KB
1 TB = 1,024 GB = 1,048,576 MB
1 PB = 1,024 TB = 1,048,576 GB
1 EB = 1,024 PB = 1,048,576 TB
1 ZB = 1,024 EB = 1,048,576 PB
1 YB = 1,024 ZB = 1,048,576 EB
1 BB = 1,024 YB = 1,048,576 ZB
1 NB = 1,024 BB = 1,048,576 YB
1 DB = 1,024 NB = 1,048,576 BB

特征:

  • 容量(Volume):數(shù)據(jù)的大小決定所考慮的數(shù)據(jù)的價值和潛在的信息俱尼;
  • 種類(Variety):數(shù)據(jù)類型的多樣性;
  • 速度(Velocity):指獲得數(shù)據(jù)的速度萎攒;
  • 可變性(Variability):妨礙了處理和有效地管理數(shù)據(jù)的過程遇八。
  • 真實性(Veracity):數(shù)據(jù)的質(zhì)量。
  • 復雜性(Complexity):數(shù)據(jù)量巨大耍休,來源多渠道刃永。
  • 復雜性(Complexity):數(shù)據(jù)量巨大,來源多渠道羊精。

Hadoop

Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)斯够。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進行高速運算和存儲读规。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)( Distributed File System)抓督,其中一個組件是HDFS(Hadoop Distributed File System)。HDFS有高容錯性的特點束亏,并且設(shè)計用來部署在低廉的(low-cost)硬件上铃在;而且它提供高吞吐量(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序碍遍。HDFS放寬了(relax)POSIX的要求定铜,可以以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。Hadoop的框架最核心的設(shè)計就是:HDFSMapReduce怕敬。HDFS為海量的數(shù)據(jù)提供了存儲宿稀,而MapReduce則為海量的數(shù)據(jù)提供了計算 。
優(yōu)點:
Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理軟件框架赖捌。 Hadoop 以一種可靠、高效矮烹、可伸縮的方式進行數(shù)據(jù)處理越庇。

Hadoop 是可靠的,因為它假設(shè)計算元素和存儲會失敗奉狈,因此它維護多個工作數(shù)據(jù)副本卤唉,確保能夠針對失敗的節(jié)點重新分布處理

Hadoop 是高效的仁期,因為它以并行的方式工作桑驱,通過并行處理加快處理速度。

Hadoop 還是可伸縮的跛蛋,能夠處理 PB 級數(shù)據(jù)熬的。

此外,Hadoop 依賴于社區(qū)服務(wù)赊级,因此它的成本比較低押框,任何人都可以使用。

Hadoop是一個能夠讓用戶輕松架構(gòu)和使用的分布式計算平臺理逊。用戶可以輕松地在Hadoop上開發(fā)和運行處理海量數(shù)據(jù)的應(yīng)用程序橡伞。它主要有以下幾個優(yōu)點:

1.高可靠性。Hadoop按位存儲和處理數(shù)據(jù)的能力值得人們信賴晋被。

2.高擴展性兑徘。Hadoop是在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務(wù)的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中 羡洛。

3.高效性挂脑。Hadoop能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此處理速度非匙钣颍快 谴分。

4.高容錯性。Hadoop能夠自動保存數(shù)據(jù)的多個副本镀脂,并且能夠自動將失敗的任務(wù)重新分配 牺蹄。

5.低成本。與一體機、商用數(shù)據(jù)倉庫以及QlikView、Yonghong Z-Suite等數(shù)據(jù)集市相比肛根,hadoop是開源的逃延,項目的軟件成本因此會大大降低 [3]

Hadoop帶有用Java語言編寫的框架贺氓,因此運行在 Linux 生產(chǎn)平臺上是非常理想的。Hadoop 上的應(yīng)用程序也可以使用其他語言編寫,比如 C++ 斋射。

Hadoop大數(shù)據(jù)處理的意義

Hadoop得以在大數(shù)據(jù)處理應(yīng)用中廣泛應(yīng)用得益于其自身在數(shù)據(jù)提取、變形和加載(ETL)方面上的天然優(yōu)勢但荤。Hadoop的分布式架構(gòu)罗岖,將大數(shù)據(jù)處理引擎盡可能的靠近存儲,對例如像ETL這樣的批處理操作相對合適腹躁,因為類似這樣操作的批處理結(jié)果可以直接走向存儲桑包。Hadoop的MapReduce功能實現(xiàn)了將單個任務(wù)打碎,并將碎片任務(wù)(Map)發(fā)送到多個節(jié)點上纺非,之后再以單個數(shù)據(jù)集的形式加載(Reduce)到數(shù)據(jù)倉庫里哑了。


image.png

核心架構(gòu)

Hadoop 由許多元素構(gòu)成。其最底部是 Hadoop Distributed File System(HDFS)烧颖,它存儲 Hadoop 集群中所有存儲節(jié)點上的文件弱左。HDFS的上一層是MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成倒信。通過對Hadoop分布式計算平臺最核心的分布式文件系統(tǒng)HDFS科贬、MapReduce處理過程,以及數(shù)據(jù)倉庫工具Hive和分布式數(shù)據(jù)庫Hbase的介紹鳖悠,基本涵蓋了Hadoop分布式平臺的所有技術(shù)核心榜掌。

HDFS

對外部客戶機而言,HDFS就像一個傳統(tǒng)的分級文件系統(tǒng)乘综≡髡耍可以創(chuàng)建、刪除卡辰、移動或重命名文件胞皱,等等邪意。但是 HDFS 的架構(gòu)是基于一組特定的節(jié)點構(gòu)建的(參見圖 1),這是由它自身的特點決定的反砌。這些節(jié)點包括 NameNode(僅一個)雾鬼,它在 HDFS 內(nèi)部提供元數(shù)據(jù)服務(wù);DataNode宴树,它為 HDFS 提供存儲塊策菜。由于僅存在一個 NameNode,因此這是 HDFS 1.x版本的一個缺點(單點失斁票帷)又憨。在Hadoop 2.x版本可以存在兩個NameNode,解決了單節(jié)點故障問題锭吨。

存儲在 HDFS 中的文件被分成塊蠢莺,然后將這些塊復制到多個計算機中(DataNode)。這與傳統(tǒng)的 RAID 架構(gòu)大不相同零如。塊的大絮锝(1.x版本默認為 64MB,2.x版本默認為128MB)和復制的塊數(shù)量在創(chuàng)建文件時由客戶機決定考蕾。NameNode 可以控制所有文件操作耸携。HDFS 內(nèi)部的所有通信都基于標準的 TCP/IP 協(xié)議。

NameNode

NameNode 是一個通常在 HDFS 實例中的單獨機器上運行的軟件辕翰。它負責管理文件系統(tǒng)名稱空間和控制外部客戶機的訪問。NameNode 決定是否將文件映射到 DataNode 上的復制塊上狈谊。對于最常見的 3 個復制塊喜命,第一個復制塊存儲在同一機架的不同節(jié)點上,最后一個復制塊存儲在不同機架的某個節(jié)點上河劝。

際的 I/O事務(wù)并沒有經(jīng)過 NameNode壁榕,只有表示 DataNode 和塊的文件映射的元數(shù)據(jù)經(jīng)過 NameNode。當外部客戶機發(fā)送請求要求創(chuàng)建文件時赎瞎,NameNode 會以塊標識和該塊的第一個副本的 DataNode IP 地址作為響應(yīng)牌里。這個 NameNode 還會通知其他將要接收該塊的副本的 DataNode。

NameNode 在一個稱為 FsImage 的文件中存儲所有關(guān)于文件系統(tǒng)名稱空間的信息务甥。這個文件和一個包含所有事務(wù)的記錄文件(這里是 EditLog)將存儲在 NameNode 的本地文件系統(tǒng)上牡辽。FsImage 和 EditLog 文件也需要復制副本,以防文件損壞或 NameNode 系統(tǒng)丟失敞临。

NameNode本身不可避免地具有SPOF(Single Point Of Failure)單點失效的風險态辛,主備模式并不能解決這個問題,通過Hadoop Non-stop namenode才能實現(xiàn)100% uptime可用時間挺尿。

DataNode

DataNode 也是一個通常在 HDFS實例中的單獨機器上運行的軟件奏黑。Hadoop 集群包含一個 NameNode 和大量 DataNode炊邦。DataNode 通常以機架的形式組織,機架通過一個交換機將所有系統(tǒng)連接起來熟史。Hadoop 的一個假設(shè)是:機架內(nèi)部節(jié)點之間的傳輸速度快于機架間節(jié)點的傳輸速度馁害。

DataNode 響應(yīng)來自 HDFS 客戶機的讀寫請求。它們還響應(yīng)來自 NameNode 的創(chuàng)建蹂匹、刪除和復制塊的命令碘菜。NameNode 依賴來自每個 DataNode 的定期心跳(heartbeat)消息。每條消息都包含一個塊報告怒详,NameNode 可以根據(jù)這個報告驗證塊映射和其他文件系統(tǒng)元數(shù)據(jù)炉媒。如果 DataNode 不能發(fā)送心跳消息,NameNode 將采取修復措施昆烁,重新復制在該節(jié)點上丟失的塊吊骤。

文件操作

可見,HDFS 并不是一個萬能的文件系統(tǒng)静尼。它的主要目的是支持以流的形式訪問寫入的大型文件白粉。

如果客戶機想將文件寫到 HDFS 上,首先需要將該文件緩存到本地的臨時存儲鼠渺。如果緩存的數(shù)據(jù)大于所需的 HDFS 塊大小鸭巴,創(chuàng)建文件的請求將發(fā)送給 NameNode。NameNode 將以 DataNode 標識和目標塊響應(yīng)客戶機拦盹。

同時也通知將要保存文件塊副本的 DataNode鹃祖。當客戶機開始將臨時文件發(fā)送給第一個 DataNode 時,將立即通過管道方式將塊內(nèi)容轉(zhuǎn)發(fā)給副本 DataNode普舆√窨冢客戶機也負責創(chuàng)建保存在相同 HDFS名稱空間中的校驗和(checksum)文件 。

在最后的文件塊發(fā)送之后沼侣,NameNode 將文件創(chuàng)建提交到它的持久化元數(shù)據(jù)存儲(在 EditLog 和 FsImage 文件) 祖能。

Linux 集群

Hadoop 框架可在單一的 Linux 平臺上使用(開發(fā)和調(diào)試時),官方提供MiniCluster作為單元測試使用蛾洛,不過使用存放在機架上的商業(yè)服務(wù)器才能發(fā)揮它的力量养铸。這些機架組成一個 Hadoop 集群。它通過集群拓撲知識決定如何在整個集群中分配作業(yè)和文件轧膘。Hadoop 假定節(jié)點可能失敗钞螟,因此采用本機方法處理單個計算機甚至所有機架的失敗 。

Hadoop和高效能計算谎碍、網(wǎng)格計算的區(qū)別

在Hadoop 出現(xiàn)之前筛圆,高性能計算和網(wǎng)格計算一直是處理大數(shù)據(jù)問題主要的使用方法和工具,它們主要采用消息傳遞接口(Message Passing Interface椿浓,MPI)提供的API 來處理大數(shù)據(jù)太援。高性能計算的思想是將計算作業(yè)分散到集群機器上闽晦,集群計算節(jié)點訪問存儲區(qū)域網(wǎng)絡(luò)SAN 構(gòu)成的共享文件系統(tǒng)獲取數(shù)據(jù),這種設(shè)計比較適合計算密集型作業(yè)提岔。當需要訪問像PB 級別的數(shù)據(jù)的時候仙蛉,由于存儲設(shè)備網(wǎng)絡(luò)帶寬的限制,很多集群計算節(jié)點只能空閑等待數(shù)據(jù)碱蒙。而Hadoop卻不存在這種問題荠瘪,由于Hadoop 使用專門為分布式計算設(shè)計的文件系統(tǒng)HDFS,計算的時候只需要將計算代碼推送到存儲節(jié)點上赛惩,即可在存儲節(jié)點上完成數(shù)據(jù)本地化計算哀墓,Hadoop 中的集群存儲節(jié)點也是計算節(jié)點 。

在分布式編程方面喷兼,MPI 是屬于比較底層的開發(fā)庫篮绰,它賦予了程序員極大的控制能力,但是卻要程序員自己控制程序的執(zhí)行流程季惯,容錯功能吠各,甚至底層的套接字通信、數(shù)據(jù)分析算法等底層細節(jié)都需要自己編程實現(xiàn)勉抓。這種要求無疑對開發(fā)分布式程序的程序員提出了較高的要求贾漏。相反,Hadoop 的MapReduce 卻是一個高度抽象的并行編程模型藕筋,它將分布式并行編程抽象為兩個原語操作纵散,即map 操作和reduce 操作,開發(fā)人員只需要簡單地實現(xiàn)相應(yīng)的接口即可隐圾,完全不用考慮底層數(shù)據(jù)流困食、容錯、程序的并行執(zhí)行等細節(jié)翎承。這種設(shè)計無疑大大降低了開發(fā)分布式并行程序的難度 。

網(wǎng)格計算通常是指通過現(xiàn)有的互聯(lián)網(wǎng)符匾,利用大量來自不同地域叨咖、資源異構(gòu)的計算機空閑的CPU 和磁盤來進行分布式存儲和計算。這些參與計算的計算機具有分處不同地域啊胶、資源異構(gòu)(基于不同平臺甸各,使用不同的硬件體系結(jié)構(gòu)等)等特征,從而使網(wǎng)格計算和Hadoop 這種基于集群的計算相區(qū)別開焰坪。Hadoop 集群一般構(gòu)建在通過高速網(wǎng)絡(luò)連接的單一數(shù)據(jù)中心內(nèi)趣倾,集群計算機都具有體系結(jié)構(gòu)、平臺一致的特點某饰,而網(wǎng)格計算需要在互聯(lián)網(wǎng)接入環(huán)境下使用儒恋,網(wǎng)絡(luò)帶寬等都沒有保證 善绎。

發(fā)展現(xiàn)狀

Hadoop 設(shè)計之初的目標就定位于高可靠性、高可拓展性诫尽、高容錯性和高效性禀酱,正是這些設(shè)計上與生俱來的優(yōu)點,才使得Hadoop 一出現(xiàn)就受到眾多大公司的青睞牧嫉,同時也引起了研究界的普遍關(guān)注剂跟。Hadoop 技術(shù)在互聯(lián)網(wǎng)領(lǐng)域已經(jīng)得到了廣泛的運用,例如酣藻,Yahoo 使用4 000 個節(jié)點的Hadoop集群來支持廣告系統(tǒng)和Web 搜索的研究曹洽;Facebook 使用1 000 個節(jié)點的集群運行Hadoop,存儲日志數(shù)據(jù)辽剧,支持其上的數(shù)據(jù)分析和機器學習送淆;百度用Hadoop處理每周200TB 的數(shù)據(jù),從而進行搜索日志分析和網(wǎng)頁數(shù)據(jù)挖掘工作抖仅;中國移動研究院基于Hadoop 開發(fā)了“大云”(Big Cloud)系統(tǒng)坊夫,不但用于相關(guān)數(shù)據(jù)分析,還對外提供服務(wù)撤卢;淘寶的Hadoop 系統(tǒng)用于存儲并處理電子商務(wù)交易的相關(guān)數(shù)據(jù)环凿。國內(nèi)的高校和科研院所基于Hadoop 在數(shù)據(jù)存儲、資源管理放吩、作業(yè)調(diào)度智听、性能優(yōu)化、系統(tǒng)高可用性和安全性方面進行研究渡紫,相關(guān)研究成果多以開源形式貢獻給Hadoop 社區(qū) 到推。

除了上述大型企業(yè)將Hadoop 技術(shù)運用在自身的服務(wù)中外,一些提供Hadoop 解決方案的商業(yè)型公司也紛紛跟進惕澎,利用自身技術(shù)對Hadoop 進行優(yōu)化莉测、改進、二次開發(fā)等唧喉,然后以公司自有產(chǎn)品形式對外提供Hadoop 的商業(yè)服務(wù)捣卤。比較知名的有創(chuàng)辦于2008 年的Cloudera 公司,它是一家專業(yè)從事基于ApacheHadoop 的數(shù)據(jù)管理軟件銷售和服務(wù)的公司八孝,它希望充當大數(shù)據(jù)領(lǐng)域中類似RedHat 在Linux 世界中的角色董朝。該公司基于Apache Hadoop 發(fā)行了相應(yīng)的商業(yè)版本Cloudera Enterprise,它還提供Hadoop 相關(guān)的支持干跛、咨詢子姜、培訓等服務(wù)。在2009 年楼入,Cloudera 聘請了Doug Cutting(Hadoop 的創(chuàng)始人)擔任公司的首席架構(gòu)師哥捕,從而更加加強了Cloudera 公司在Hadoop 生態(tài)系統(tǒng)中的影響和地位牧抽。最近,Oracle 也表示已經(jīng)將Cloudera 的Hadoop 發(fā)行版和Cloudera Manager 整合到Oracle Big Data Appliance 中扭弧。同樣阎姥,Intel 也基于Hadoop 發(fā)行了自己的版本IDH。從這些可以看出鸽捻,越來越多的企業(yè)將Hadoop 技術(shù)作為進入大數(shù)據(jù)領(lǐng)域的必備技術(shù)呼巴。

image.png

image.png

應(yīng)用程序

Hadoop 的最常見用法之一是 Web 搜索。雖然它不是唯一的軟件框架應(yīng)用程序御蒲,但作為一個并行數(shù)據(jù)處理引擎衣赶,它的表現(xiàn)非常突出。Hadoop 最有趣的方面之一是 Map and Reduce 流程厚满,它受到Google開發(fā)的啟發(fā)府瞄。這個流程稱為創(chuàng)建索引,它將 Web爬行器檢索到的文本 Web 頁面作為輸入碘箍,并且將這些頁面上的單詞的頻率報告作為結(jié)果遵馆。然后可以在整個 Web 搜索過程中使用這個結(jié)果從已定義的搜索參數(shù)中識別內(nèi)容。

MapReduce

最簡單的 MapReduce應(yīng)用程序至少包含 3 個部分:一個 Map 函數(shù)丰榴、一個 Reduce 函數(shù)和一個 main 函數(shù)货邓。main 函數(shù)將作業(yè)控制和文件輸入/輸出結(jié)合起來。在這點上四濒,Hadoop 提供了大量的接口和抽象類换况,從而為 Hadoop應(yīng)用程序開發(fā)人員提供許多工具,可用于調(diào)試和性能度量等 盗蟆。

MapReduce 本身就是用于并行處理大數(shù)據(jù)集的軟件框架戈二。MapReduce 的根源是函數(shù)性編程中的 map 和 reduce 函數(shù)。它由兩個可能包含有許多實例(許多 Map 和 Reduce)的操作組成喳资。Map 函數(shù)接受一組數(shù)據(jù)并將其轉(zhuǎn)換為一個鍵/值對列表觉吭,輸入域中的每個元素對應(yīng)一個鍵/值對。Reduce 函數(shù)接受 Map 函數(shù)生成的列表仆邓,然后根據(jù)它們的鍵(為每個鍵生成一個鍵/值對)縮小鍵/值對列表 鲜滩。

這里提供一個示例,幫助您理解它宏赘。假設(shè)輸入域是 one small step for man,one giant leap for mankind。在這個域上運行 Map 函數(shù)將得出以下的鍵/值對列表 :

(one,1)(small,1) (step,1) (for,1) (man,1)(one,1) (giant,1) (leap,1) (for,1) (mankind,1)

如果對這個鍵/值對列表應(yīng)用 Reduce 函數(shù)黎侈,將得到以下一組鍵/值對:

(one,2) (small,1) (step,1) (for,2) (man,1)(giant,1) (leap,1) (mankind,1)

結(jié)果是對輸入域中的單詞進行計數(shù)察署,這無疑對處理索引十分有用。但是峻汉,假設(shè)有兩個輸入域贴汪,第一個是 one small step for man脐往,第二個是 one giant leap for mankind。您可以在每個域上執(zhí)行 Map 函數(shù)和 Reduce 函數(shù)扳埂,然后將這兩個鍵/值對列表應(yīng)用到另一個 Reduce 函數(shù)业簿,這時得到與前面一樣的結(jié)果。換句話說阳懂,可以在輸入域并行使用相同的操作梅尤,得到的結(jié)果是一樣的,但速度更快岩调。這便是 MapReduce 的威力巷燥;它的并行功能可在任意數(shù)量的系統(tǒng)上使用 。

回到 Hadoop 上号枕,它實現(xiàn)這個功能的方法是:一個代表客戶機在單個主系統(tǒng)上啟動的 MapReduce應(yīng)用程序稱為 JobTracker缰揪。類似于 NameNode,它是 Hadoop 集群中唯一負責控制 MapReduce應(yīng)用程序的系統(tǒng)葱淳。在應(yīng)用程序提交之后钝腺,將提供包含在 HDFS 中的輸入和輸出目錄。JobTracker 使用文件塊信息(物理量和位置)確定如何創(chuàng)建其他 TaskTracker 從屬任務(wù)赞厕。MapReduce應(yīng)用程序被復制到每個出現(xiàn)輸入文件塊的節(jié)點艳狐。將為特定節(jié)點上的每個文件塊創(chuàng)建一個唯一的從屬任務(wù)。每個 TaskTracker 將狀態(tài)和完成信息報告給 JobTracker 坑傅。

顯示處理和存儲的物理分布的 Hadoop 集群

Hadoop 的這個特點非常重要僵驰,因為它并沒有將存儲移動到某個位置以供處理,而是將處理移動到存儲 唁毒。

image.png

image.png

區(qū)別

Hadoop是Apache軟件基金會發(fā)起的一個項目蒜茴,在大數(shù)據(jù)分析以及非結(jié)構(gòu)化數(shù)據(jù)蔓延的背景下,Hadoop受到了前所未有的關(guān)注 浆西。

Hadoop是一種分布式數(shù)據(jù)和計算的框架粉私。它很擅長存儲大量的半結(jié)構(gòu)化的數(shù)據(jù)集。數(shù)據(jù)可以隨機存放近零,所以一個磁盤的失敗并不會帶來數(shù)據(jù)丟失诺核。Hadoop也非常擅長分布式計算——快速地跨多臺機器處理大型數(shù)據(jù)集合。

MapReduce是處理大量半結(jié)構(gòu)化數(shù)據(jù)集合的編程模型久信。編程模型是一種處理并結(jié)構(gòu)化特定問題的方式窖杀。例如,在一個關(guān)系數(shù)據(jù)庫中裙士,使用一種集合語言執(zhí)行查詢入客,如SQL。告訴語言想要的結(jié)果,并將它提交給系統(tǒng)來計算出如何產(chǎn)生計算桌硫。還可以用更傳統(tǒng)的語言(C++夭咬,Java),一步步地來解決問題铆隘。這是兩種不同的編程模型卓舵,MapReduce就是另外一種 。

MapReduce和Hadoop是相互獨立的膀钠,實際上又能相互配合工作得很好掏湾。

MapReduce 流程的概念流

信息安全

通過Hadoop安全部署經(jīng)驗總結(jié),開發(fā)出以下十大建議托修,以確保大型和復雜多樣環(huán)境下的數(shù)據(jù)信息安全 [9] 忘巧。

1、先下手為強!在規(guī)劃部署階段就確定數(shù)據(jù)的隱私保護策略睦刃,最好是在將數(shù)據(jù)放入到Hadoop之前就確定好保護策略 砚嘴。

2、確定哪些數(shù)據(jù)屬于企業(yè)的敏感數(shù)據(jù)涩拙。根據(jù)公司的隱私保護政策际长,以及相關(guān)的行業(yè)法規(guī)和政府規(guī)章來綜合確定 。

3兴泥、及時發(fā)現(xiàn)敏感數(shù)據(jù)是否暴露在外工育,或者是否導入到Hadoop中 。

4搓彻、搜集信息并決定是否暴露出安全風險 如绸。

5、確定商業(yè)分析是否需要訪問真實數(shù)據(jù)旭贬,或者確定是否可以使用這些敏感數(shù)據(jù)怔接。然后,選擇合適的加密技術(shù)稀轨。如果有任何疑問扼脐,對其進行加密隱藏處理,同時提供最安全的加密技術(shù)和靈活的應(yīng)對策略奋刽,以適應(yīng)未來需求的發(fā)展 瓦侮。

6、確保數(shù)據(jù)保護方案同時采用了隱藏和加密技術(shù)佣谐,尤其是如果我們需要將敏感數(shù)據(jù)在Hadoop中保持獨立的話 肚吏。

7、確保數(shù)據(jù)保護方案適用于所有的數(shù)據(jù)文件狭魂,以保存在數(shù)據(jù)匯總中實現(xiàn)數(shù)據(jù)分析的準確性罚攀。

8吁断、確定是否需要為特定的數(shù)據(jù)集量身定制保護方案,并考慮將Hadoop的目錄分成較小的更為安全的組 坞生。

9、確保選擇的加密解決方案可與公司的訪問控制技術(shù)互操作掷伙,允許不同用戶可以有選擇性地訪問Hadoop集群中的數(shù)據(jù)是己。

10、確保需要加密的時候有合適的技術(shù)(比如Java任柜、Pig等)可被部署并支持無縫解密和快速訪問數(shù)據(jù) 卒废。

以上都是概念性的,所以都是百度百科copy過來的東西宙地,用于自己理解摔认,學習。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宅粥,一起剝皮案震驚了整個濱河市参袱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秽梅,老刑警劉巖抹蚀,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異企垦,居然都是意外死亡环壤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門钞诡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來郑现,“玉大人,你說我怎么就攤上這事荧降〗芋铮” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵誊抛,是天一觀的道長列牺。 經(jīng)常有香客問我,道長拗窃,這世上最難降的妖魔是什么瞎领? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮随夸,結(jié)果婚禮上九默,老公的妹妹穿的比我還像新娘。我一直安慰自己宾毒,他們只是感情好驼修,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般乙各。 火紅的嫁衣襯著肌膚如雪墨礁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天耳峦,我揣著相機與錄音恩静,去河邊找鬼。 笑死蹲坷,一個胖子當著我的面吹牛驶乾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播循签,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼级乐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了县匠?” 一聲冷哼從身側(cè)響起风科,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乞旦,沒想到半個月后丐重,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡杆查,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年扮惦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亲桦。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡崖蜜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出客峭,到底是詐尸還是另有隱情豫领,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布舔琅,位于F島的核電站等恐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏备蚓。R本人自食惡果不足惜课蔬,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郊尝。 院中可真熱鬧二跋,春花似錦、人聲如沸流昏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谚鄙,卻和暖如春各拷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背闷营。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工撤逢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粮坞。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像初狰,于是被迫代替她去往敵國和親莫杈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361