




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Hadoop入門簡(jiǎn)介
主要內(nèi)容什么是HadoopHadoop的組成Hadoop的使用(hive)Hadoop經(jīng)典案例什么是Hadoop簡(jiǎn)述
ApacheHadoop是一個(gè)用java語(yǔ)言實(shí)現(xiàn)的軟件框架,在由大量計(jì)算機(jī)組成的集群中運(yùn)行海量數(shù)據(jù)的分布式計(jì)算,它可以讓應(yīng)用程序支持上千個(gè)節(jié)點(diǎn)和PB級(jí)別的數(shù)據(jù)。Hadoop的組成HadoopcorePIGHBaseZooKeeperHadoop的組成Hadoopcore Hadoop的核心子項(xiàng)目,提供了一個(gè)分布式文件系統(tǒng)(HDFS)和支持MapReduce的分布式計(jì)算。HBase 建立在Hadoop內(nèi)核之上,提供可靠的,可擴(kuò)展的分布式數(shù)據(jù)庫(kù)。ZooKeeper
一個(gè)高效的,可擴(kuò)展的協(xié)調(diào)系統(tǒng)。分布式應(yīng)用可以使用ZooKeeper來存儲(chǔ)和協(xié)調(diào)關(guān)鍵共享狀態(tài)。PIG
建立于Hadoop內(nèi)核之上,是一種支持并行計(jì)算運(yùn)行框架的高級(jí)數(shù)據(jù)流語(yǔ)言。HadoopcoreMapReduceMap:任務(wù)的分解Reduce:結(jié)果的匯總兩大核心設(shè)計(jì)HDFSNameNodeDataNodeClientMapReduceHDFSHDFSNameNode
可以看作是分布式文件系統(tǒng)中的管理者,存儲(chǔ)文件系統(tǒng)的meta-data,主要負(fù)責(zé)管理文件系統(tǒng)的命名空間,集群配置信息,存儲(chǔ)塊的復(fù)制。DataNode
是文件存儲(chǔ)的基本單元。它存儲(chǔ)文件塊在本地文件系統(tǒng)中,保存了文件塊的meta-data,同時(shí)周期性的發(fā)送所有存在的文件塊的報(bào)告給NameNode。Client
就是需要獲取分布式文件系統(tǒng)文件的應(yīng)用程序。
HDFS操作舉例文件寫入:1.Client向NameNode發(fā)起文件寫入的請(qǐng)求。2.NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。3.Client將文件劃分為多個(gè)文件塊,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€(gè)DataNode塊中。
文件讀?。?.
Client向NameNode發(fā)起文件讀取的請(qǐng)求。2.
NameNode返回文件存儲(chǔ)的DataNode的信息。3.Client讀取文件信息。文件塊復(fù)制:1.NameNode發(fā)現(xiàn)部分文件的文件塊不符合最小復(fù)制數(shù)或者部分DataNode失效。2.
通知DataNode相互復(fù)制文件塊。3.
DataNode開始直接相互復(fù)制。HDFS操作舉例publicstaticvoidmain(String[]args)throwsException{Configurationconf=newConfiguration();String[]otherArgs=newGenericOptionsParser(conf,args).getRemainingArgs();if(otherArgs.length!=2){System.err.println("Usage:wordcount<in><out>");System.exit(2);}Jobjob=newJob(conf,"wordcount");job.setJarByClass(WordCount.class);//主類
job.setMapperClass(TokenizerMapper.class);//mapperjob.setCombinerClass(IntSumReducer.class);//作業(yè)合成類
job.setReducerClass(IntSumReducer.class);//reducerjob.setOutputKeyClass(Text.class);//設(shè)置作業(yè)輸出數(shù)據(jù)的關(guān)鍵類
job.setOutputValueClass(IntWritable.class);//設(shè)置作業(yè)輸出值類
FileInputFormat.addInputPath(job,newPath(otherArgs[0]));//文件輸入
FileOutputFormat.setOutputPath(job,newPath(otherArgs[1]));//文件輸出
System.exit(job.waitForCompletion(true)?0:1);//等待完成退出.}HadoopMap/Reduce(input)<k1,v1>->
map
-><k2,v2>->
combine*
-><k2,v2>->reduce
-><k3,v3>(output)combine過程可能沒有,也可能有多次Hadoop生態(tài)系統(tǒng)Hadoop的使用(hive)什么是hiveHive是一個(gè)基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)。使用hadoop-hdfs作為數(shù)據(jù)存儲(chǔ)層,提供類似SQL的語(yǔ)言(HQL),通過hadoop-mapreduce完成數(shù)據(jù)計(jì)算;通過HQL語(yǔ)言提供使用著與傳統(tǒng)RDBMS一樣的表格查詢特性和分布式存儲(chǔ)計(jì)算的特性Hive實(shí)質(zhì)上市hadoop的一個(gè)客戶端,只是把產(chǎn)生mapreduce任務(wù)用一個(gè)sql編譯器自動(dòng)化了。Hadoop的使用(hive)為什么選擇hive簡(jiǎn)單?。?!學(xué)習(xí)成本低不必開發(fā)專門的mapreduce應(yīng)用適合數(shù)據(jù)倉(cāng)庫(kù)的統(tǒng)計(jì)分析Hadoop的使用(hive)1)創(chuàng)建表hive>CREATETABLEpokes(fooINT,barSTRING);2)創(chuàng)建分區(qū)表hive>CREATETABLEinvites(fooINT,barSTRING)PARTITIONEDBY(dsSTRING);3)查看列表hive>SHOWTABLES;hive>SHOWTABLES'.*s';4)查看表結(jié)構(gòu)hive>DESCRIBEinvites;5)修改表結(jié)構(gòu)hive>ALTERTABLEpokesADDCOLUMNS(new_colINT);hive>ALTERTABLEinvitesADDCOLUMNS(new_col2INTCOMMENT'acomment');Hadoop的使用(hive)2)inserthive>INSERTOVERWRITELOCALDIRECTORY'/tmp/local_out'SELECTa.*FROMpokesa;hive>INSERTOVERWRITELOCALDIRECTORY'/tmp/sum'SELECTSUM(a.pc)FROMpc1a;3)groupbyhive>FROMinvitesaINSERTOVERWRITETABLEeventsSELECTa.bar,count(*)WHEREa.foo>0GROUPBYa.bar;hive>INSERTOVERWRITETABLEeventsSELECTa.bar,count(*)FROMinvitesaWHEREa.foo>0GROUPBYa.bar;4)joinhive>FROMpokest1JOINinvitest2ON(t1.bar=t2.bar)INSERTOVERWRITETABLEeventsSELECTt1.bar,t1.foo,t2.foo;Hadoop應(yīng)用案例誰在用hadoopYahooFacebookAmazonEbayHuluIBMLinkedInLast.fmAlibabaBaidu中國(guó)移動(dòng)研究院Hadoop經(jīng)典案例——Facebook集群規(guī)模1200nodes/9600cores12PBofrawstorage每日處理數(shù)據(jù)10TBofcompressednewdataaddedperday135TBofcompresseddatascannedperday7500+Hivejobsperday80KcomputehoursperdayHadoop經(jīng)典案例——FacebookFacebook的數(shù)據(jù)倉(cāng)庫(kù)一開始是構(gòu)建于MySQL之上的,但是隨著數(shù)據(jù)量的增加某些查詢需要幾個(gè)小時(shí)甚至幾天的時(shí)間才能完成。當(dāng)數(shù)據(jù)量接近1T的時(shí)候,mysqld后臺(tái)進(jìn)程宕掉,這時(shí)他們決定將他們數(shù)據(jù)倉(cāng)庫(kù)轉(zhuǎn)移到Oracle。當(dāng)然這次轉(zhuǎn)移的過程也是付出了很大的代價(jià)的,比如支持的SQL方言不同,修改以前的運(yùn)行腳本等等。Oracle應(yīng)付幾T的數(shù)據(jù)還是沒有問題的,但是在開始收集用戶點(diǎn)擊流的數(shù)據(jù)(每天大約400G)之后,Oracle也開始撐不住了,由此又要考慮新的數(shù)據(jù)倉(cāng)庫(kù)方案。內(nèi)部開發(fā)人員花了幾周的時(shí)間建立了一個(gè)并行日志處理系統(tǒng)Cheetah,這樣的話勉強(qiáng)可以在24小時(shí)之內(nèi)處理完一天的點(diǎn)擊流數(shù)據(jù)。Cheetah也存在許多缺點(diǎn)。后來發(fā)現(xiàn)了Hadoop項(xiàng)目,并開始試著將日志數(shù)據(jù)同時(shí)載入Cheetah和Hadoop做對(duì)比,Hadoop在處理大規(guī)模數(shù)據(jù)時(shí)更具優(yōu)勢(shì),后來將所有的工作流都從Cheetah轉(zhuǎn)移到了Hadoop,并基于Hadoop做了很多有價(jià)值的分析。后來為了使組織中的多數(shù)人能夠使用Hadoop,開發(fā)了Hive,Hive提供了類似于SQL的查詢接口,非常方便。與此同時(shí)還開發(fā)了一些其它工具?,F(xiàn)在集群存儲(chǔ)2.5PB的數(shù)據(jù),并且以每天15TB的數(shù)據(jù)在增長(zhǎng),每天提交3000個(gè)以上的作業(yè),大約處理55TB的數(shù)據(jù)...Hadoop經(jīng)典案例——YahooTotalNodes4000Totalcores30000Data16PB資料標(biāo)題:ScalingHadoopto4000nodesatYahoo!資料日期:2008
500-nodecluster4000-nodecluster
writereadwritereadnumberoffiles99099014,00014,000filesize(MB)320320360360totalMBprocesses316,800316,8005,040,0005,040,000taskspernode2244avg.throughput(MB/s)5.8184066Hadoop經(jīng)典案例——Amazon集群規(guī)模(兩個(gè)集群)1100nodes/8800cores,12PB數(shù)據(jù)300Nodes/2400cores3PB數(shù)據(jù)提供的計(jì)算服務(wù)AmazonElasticComputeCloud(AmazonEC2)AmazonSimpleStorageService(AmazonS3).Hadoop適用場(chǎng)景適合
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級(jí)新生入學(xué)家長(zhǎng)會(huì)的發(fā)言稿
- 《雨》閱讀理解訓(xùn)練題及答案
- 東南亞企業(yè)合同范本
- 《長(zhǎng)方形和正方形的周長(zhǎng)》教學(xué)反思
- 取暖煤爐購(gòu)銷合同范例
- 買賣電梯合同范本
- 下定金合同范本
- 借款電子合同范本
- 農(nóng)村酒店招租合同范例
- 單品合同范本
- 固定式塔式起重機(jī)基礎(chǔ)設(shè)計(jì)及計(jì)算
- 奶牛性控凍精的使用細(xì)則:張相文 整理
- GB/T 34376-2017數(shù)控板料折彎?rùn)C(jī)技術(shù)條件
- GB/T 22492-2008大豆肽粉
- 四年級(jí)下冊(cè)美術(shù)課件 4紙卷魔術(shù)|蘇少版
- 三年級(jí)下冊(cè)豎式脫式計(jì)算
- 《財(cái)務(wù)風(fēng)險(xiǎn)的識(shí)別與評(píng)估管理國(guó)內(nèi)外文獻(xiàn)綜述》
- ??谑写媪糠抠I賣合同模板(范本)
- 經(jīng)典文學(xué)作品中的女性形象研究外文文獻(xiàn)翻譯2016年
- 高爐煤氣安全知識(shí)的培訓(xùn)
- 2008 年全國(guó)高校俄語(yǔ)專業(yè)四級(jí)水平測(cè)試試卷
評(píng)論
0/150
提交評(píng)論