成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop入門專家引導

開發 架構 Hadoop
Hadoop你是否了解,本文就像大家簡單Hadoop入門知識,希望正在學習Hadoop以及對學習Hadoop感興趣的朋友們一起來關注。

本節和大家介紹一下Hadoop入門,主要內容是Hadoop概論,Hadoop的基本概念等內容,希望通過本節的介紹,大家對Hadoop有初步的認識。下面是具體介紹。

Hadoop入門

Hadoop是GoogleMapReduce的一個Java實現。MapReduce是一種簡化的分布式編程模式,讓程序自動分布到一個由普通機器組成的超大集群上并發執行。就如同java程序員可以不考慮內存泄露一樣,MapReduce的run-time系統會解決輸入數據的分布細節,跨越機器集群的程序執行調度,處理機器的失效,并且管理機器之間的通訊請求。這樣的模式允許程序員可以不需要有什么并發處理或者分布式系統的經驗,就可以處理超大的分布式系統得資源。

一、概論
作為Hadoop程序員,他要做的事情就是:
1、定義Mapper,處理輸入的Key-Value對,輸出中間結果。
2、定義Reducer,可選,對中間結果進行規約,輸出最終結果。
3、定義InputFormat和OutputFormat,可選,InputFormat將每行輸入文件的內容轉換為Java類供Mapper函數使用,不定義時默認為String。
4、定義main函數,在里面定義一個Job并運行它。
然后的事情就交給系統了。Hadoop入門首先要了解一下基本概念。

1.基本概念:Hadoop的HDFS實現了google的GFS文件系統,NameNode作為文件系統的負責調度運行在master,DataNode運行在每個機器上。同時Hadoop實現了Google的MapReduce,JobTracker作為MapReduce的總調度運行在master,TaskTracker則運行在每個機器上執行Task。

2.main()函數,創建JobConf,定義Mapper,Reducer,Input/OutputFormat和輸入輸出文件目錄,***把Job提交給JobTracker,等待Job結束。

3.JobTracker,創建一個InputFormat的實例,調用它的getSplits()方法,把輸入目錄的文件拆分成FileSplist作為Mappertask的輸入,生成Mappertask加入Queue。

4.TaskTracker向JobTracker索求下一個Map/Reduce。

MapperTask先從InputFormat創建RecordReader,循環讀入FileSplits的內容生成Key與Value,傳給Mapper函數,處理完后中間結果寫成SequenceFile.
ReducerTask從運行Mapper的TaskTracker的Jetty上使用http協議獲取所需的中間內容(33%),Sort/Merge后(66%),執行Reducer函數,***按照OutputFormat寫入結果目錄。
TaskTracker每10秒向JobTracker報告一次運行情況,每完成一個Task10秒后,就會向JobTracker索求下一個Task。
Nutch項目的全部數據處理都構建在Hadoop之上,詳見ScalableComputingwithHadoop。下面我們再來看一下Hadoop入門介紹中程序員編寫的代碼。

二、程序員編寫的代碼
我們做一個簡單的分布式的Grep,簡單對輸入文件進行逐行的正則匹配,如果符合就將該行打印到輸出文件。因為是簡單的全部輸出,所以我們只要寫Mapper函數,不用寫Reducer函數,也不用定義Input/OutputFormat。
 

  1. packagedemo.hadoop  
  2. publicclassHadoopGrep{  
  3. publicstaticclassRegMapperextendsMapReduceBaseimplementsMapper{  
  4. privatePatternpattern;  
  5. publicvoidconfigure(JobConfjob){  
  6. pattern=Pattern.compile(job.get("mapred.mapper.regex"));  
  7. }  
  8.  
  9. publicvoidmap(WritableComparablekey,Writablevalue,OutputCollectoroutput,Reporterreporter)  
  10. throwsIOException{  
  11. Stringtext=((Text)value).toString();  
  12. Matchermatcher=pattern.matcher(text);  
  13. if(matcher.find()){  
  14. output.collect(key,value);  
  15. }}  
  16. }  
  17. privateHadoopGrep(){  
  18. }//singleton  
  19.  
  20. publicstaticvoidmain(String[]args)throwsException{  
  21. JobConfgrepJob=newJobConf(HadoopGrep.class);  
  22. grepJob.setJobName("grep-search");  
  23. grepJob.set("mapred.mapper.regex",args[2]);  
  24. grepJob.setInputPath(newPath(args[0]));  
  25. grepJob.setOutputPath(newPath(args[1]));  
  26. grepJob.setMapperClass(RegMapper.class);  
  27. grepJob.setReducerClass(IdentityReducer.class);  
  28. JobClient.runJob(grepJob);  
  29. }  

 

RegMapper類的configure()函數接受由main函數傳入的查找字符串,map()函數進行正則匹配,key是行數,value是文件行的內容,符合的文件行放入中間結果。
main()函數定義由命令行參數傳入的輸入輸出目錄和匹配字符串,Mapper函數為RegMapper類,Reduce函數是什么都不做,直接把中間結果輸出到最終結果的的IdentityReducer類,運行Job。整個代碼非常簡單,絲毫沒有分布式編程的任何細節。請期待下節關于Hadoop入門介紹。
 

【編輯推薦】

  1. Hadoop安裝與使用如何進行?
  2. Hadoop開源已經實現
  3. Hadoop集群與Hadoop性能優化
  4. Hadoop 從Yahoo向Google的技術轉折
  5. Hadoop起源及其四大特性詳解

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-06-07 08:55:50

Hadoop云計算

2010-07-20 13:19:16

Perl入門手冊

2010-06-07 17:24:44

UML

2010-06-03 10:35:40

2010-08-03 14:37:30

Flex入門教程

2010-07-20 16:19:54

Perl

2010-06-03 18:32:51

Hadoop

2010-06-04 18:06:22

Hadoop集群搭建

2010-06-03 19:38:26

Hadoop

2010-08-04 09:51:05

Flex學習

2010-05-27 18:31:28

SVN入門

2010-06-04 09:29:55

安裝Hadoop教程

2010-06-04 14:42:25

2013-12-12 10:00:03

大數據

2010-07-23 12:23:49

Perl基礎

2010-06-07 11:30:24

Hadoop源代碼

2010-07-26 11:09:35

Perl函數手冊

2010-06-03 14:42:47

Hadoop分布式集群

2010-06-04 17:34:13

Hadoop0.20.

2009-04-07 09:12:35

敏捷新手入門大型開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久午夜片 | 日韩在线欧美 | 天堂在线91 | 亚洲午夜视频在线观看 | 免费黄色成人 | 久久久久久久久久性 | 99精品国自产在线 | 精品入口麻豆88视频 | 国产96在线| 精品二区 | 久久国产精品一区二区三区 | 91美女在线观看 | 国产盗摄视频 | 九色国产| 日韩欧美久久 | 亚洲国产福利视频 | 91久久夜色精品国产网站 | 婷婷久久久久 | 日韩精品视频在线播放 | 国产精品一区久久久 | 亚洲一区二区视频 | 亚洲成人精品国产 | 久久久久国产一区二区三区 | 亚洲成人免费视频 | 91精品一区 | 一区在线视频 | 欧美一级艳情片免费观看 | 成人毛片在线视频 | 精品一区二区三区在线播放 | 激情小说综合网 | 91久久精品国产91久久性色tv | 在线观看国产精品视频 | 在线成人 | 国产美女在线观看 | 国产九一精品 | 精品视频一区二区 | 亚洲精久 | 亚洲精品一区二区二区 | 日韩精品一区在线 | 国产成人av一区二区三区 | 日韩在线资源 |