Hadoop概述
開(kāi)源分布式計(jì)算平臺(tái),以HDFS、MapReduce為核心,為用戶(hù)提供了系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu).
高容錯(cuò)、高伸縮
MR允許用戶(hù)在不了解分布式系統(tǒng)底層細(xì)節(jié)的情況下開(kāi)發(fā)并行應(yīng)用程序,充分利用集群的計(jì)算和存儲(chǔ)能力,完成海量數(shù)據(jù)的處理.
NameNode,元數(shù)據(jù)的管理者
DataNode
JobTracker
TaskTracker
數(shù)據(jù)分割Partition
把map任務(wù)輸出的中間結(jié)果按key的范圍劃分成R份,劃分時(shí)通常使用hash函數(shù),這樣可以保證某一范圍內(nèi)的key一定是由一個(gè)reduce任務(wù)來(lái)處理的,可以簡(jiǎn)化reduce的過(guò)程
數(shù)據(jù)合并Combine
在數(shù)據(jù)分割之前,還可以先對(duì)中間結(jié)果進(jìn)行數(shù)據(jù)合并,即將中間結(jié)果中有相同key的<key,value>對(duì)合并成一對(duì)。Combine作為map任務(wù)的一部分,在執(zhí)行完map函數(shù)后緊接著執(zhí)行。Combine能夠減少中間結(jié)果中<key,value>對(duì)的數(shù)據(jù),從而降低網(wǎng)絡(luò)流量