上文介紹了大數(shù)據(jù)開發(fā)學(xué)習(xí)需要的基礎(chǔ)知識(shí)诫睬,接下來(lái)繼續(xù)介紹大數(shù)據(jù)技術(shù)學(xué)習(xí)的重點(diǎn)之一:Hadoop舷暮。
Hadoop技術(shù)體系
(1)簡(jiǎn)介:
Hadoop是Apache開源組織的一個(gè)分布式基礎(chǔ)框架态罪,提供了一個(gè)分布式文件系統(tǒng) (HDFS)、分布式計(jì)算(MapReduce)及統(tǒng)一資源管理框架(YARN)的軟件架構(gòu)下面。用戶可以在不了解分布式底層細(xì)節(jié)的情況下复颈,開發(fā)分布式程序。
Hadoop框架核心的設(shè)計(jì)是:HDFS沥割、MapReduce耗啦、YARN。HDFS為海量的數(shù)據(jù)提供了存儲(chǔ)机杜,而MapReduce則為海量的數(shù)據(jù)提供了計(jì)算帜讲,YARN為計(jì)算程序提供資源調(diào)度服務(wù)。
2006年項(xiàng)目成立的一開始椒拗,“Hadoop”只代表了兩個(gè)組件——HDFS和MapReduce似将。如今,這個(gè)單詞代表的是“核心”(即Core Hadoop項(xiàng)目)以及與之相關(guān)的一個(gè)不斷成長(zhǎng)的生態(tài)系統(tǒng)蚀苛,包括數(shù)據(jù)存儲(chǔ)在验、執(zhí)行引擎、編程和數(shù)據(jù)訪問(wèn)框架等堵未。和Linux類似腋舌,都是由一個(gè)核心和一個(gè)生態(tài)系統(tǒng)組成。
(2)名字的由來(lái):
Hadoop的發(fā)音是[hdu:p]渗蟹。
Hadoop這個(gè)名字是Hadoop項(xiàng)目創(chuàng)建者Doug Cutting 的兒子的一只玩具的名字块饺。他的兒子一直稱呼一只黃色的大象玩具為 Hadoop 赞辩。這剛好滿足Cutting 的命名需求,簡(jiǎn)短刨沦,容易拼寫和發(fā)音诗宣,毫無(wú)意義,不會(huì)在別處使用想诅。于是 Hadoop 就誕生了召庞。
(3)主要組件介紹:
1)HDFS(Hadoop Distribute File System):分布式文件系統(tǒng),提供對(duì)應(yīng)用程序數(shù)據(jù)的高吞吐量来破,高伸縮性篮灼,高容錯(cuò)性的訪問(wèn)。Hadoop體系中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ)徘禁。
2)MapReduce:是一個(gè)分布式計(jì)算模型诅诱,由Map和Reduce組成,用以進(jìn)行大數(shù)據(jù)量的計(jì)算送朱。MapReduce分為兩個(gè)階段:Map階段娘荡,Reduce階段,其中Map階段為映射驶沼,Reduce階段是規(guī)約炮沐。其中Map對(duì)數(shù)據(jù)集上的獨(dú)立元素進(jìn)行指定的操作,生成鍵-值對(duì)形式中間結(jié)果回怜;Reduce則對(duì)中間結(jié)果中相同“鍵”的所有“值”進(jìn)行規(guī)約大年,以得到最終結(jié)果。這樣適合在大量計(jì)算機(jī)組成的分布式并行環(huán)境里進(jìn)行數(shù)據(jù)處理玉雾。
3)YARN(Yet Another Resource Negotiator):分布式資源管理器翔试,職能是將資源調(diào)度和任務(wù)調(diào)度分開。最大的特點(diǎn)是執(zhí)行調(diào)度與Hadoop上運(yùn)行的任務(wù)類型無(wú)關(guān)复旬。Yarn可在Hadoop上執(zhí)行除MapReduce以外的工作垦缅,其核心是分布式調(diào)度程序。
如果你對(duì)大數(shù)據(jù)開發(fā)感興趣赢底,想系統(tǒng)學(xué)習(xí)大數(shù)據(jù)的話失都,可以加入大數(shù)據(jù)技術(shù)學(xué)習(xí)交流扣扣群:458數(shù)字345數(shù)字782,歡迎添加幸冻,私信管理員,了解課程介紹咳焚,獲取學(xué)習(xí)資源
(4)其他模塊簡(jiǎn)介(部分):
4)HBase:是一個(gè)基于HDFS之上的高可靠洽损、高性能、面向列革半、可伸縮的分布式NoSQL數(shù)據(jù)庫(kù)碑定。
5)Hive:是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具流码,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供簡(jiǎn)單的sql查詢功能延刘,可以將sql語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行漫试。
6)Zookeeper:一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù)碘赖。提供的功能包括:配置維護(hù)驾荣、域名服務(wù)、分布式同步普泡、組服務(wù)等播掷。
7)FlumeNG:是一個(gè)分布式、高可靠的數(shù)據(jù)采集系統(tǒng)撼班,能夠將不同數(shù)據(jù)源的海量日志數(shù)據(jù)進(jìn)行高效收集歧匈、聚合、移動(dòng)砰嘁,最后存儲(chǔ)到一個(gè)中心化數(shù)據(jù)存儲(chǔ)系統(tǒng)中件炉。
8)Sqoop:是一款開源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql矮湘、postgresql...)間進(jìn)行數(shù)據(jù)的傳遞斟冕,可將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中板祝。
9)Pig:運(yùn)行在Hadoop上宫静,是對(duì)大型數(shù)據(jù)集進(jìn)行分析和評(píng)估的平臺(tái)。
(5)如何學(xué)習(xí)Hadoop券时?
1)學(xué)習(xí)Hadoop的基本要求:
a孤里、掌握J(rèn)avaSEb、會(huì)使用maven工具c橘洞、會(huì)使用IDE(eclipse捌袜、IDEA)d、會(huì)使用Linux系統(tǒng)
2)Hadoop介紹和環(huán)境搭建
a炸枣、hadoop介紹b虏等、Hadoop獨(dú)立模式的安裝及測(cè)試c、Hadoop的集群結(jié)構(gòu)d适肠、Hadoop的偽分布模式e霍衫、Hadoop的完全分布式環(huán)境搭建...
3)HDFS底層工作原理、HDFS編程
4)MapReduce原理侯养、MapReduce實(shí)踐
5)YARN原理及實(shí)踐
6)Zookeeper原理及實(shí)踐
7)Hbase敦跌、Hive、FlumeNG逛揩、Sqoop原理及實(shí)踐柠傍。