MapReduce环境准备
目錄
MapReduce編程規(guī)范
WordCount案例實(shí)操
環(huán)境準(zhǔn)備
MapReduce編程規(guī)范
用戶編寫的程序分成三個部分:Mapper、Reducer、Driver
1、Mapper階段
1)用戶自定義的Mapper要繼承自己的父類。
2)Mapper的輸入數(shù)據(jù)是KV對的形式(KV的類型可自定義)
3)Mapper中的業(yè)務(wù)邏輯寫在map()方法中。
4)Mapper的輸出數(shù)據(jù)是KV對的形式(KV的類型可自定義)
5)map()方法(MapTask進(jìn)程)對每一個<K,V>調(diào)用一次。
2、Reducer階段
1)用戶自定義的Reducer要繼承自己的父類。
2)Reducer的輸入數(shù)據(jù)類型對應(yīng)Mapper的輸出數(shù)據(jù)類型,也是KV。
3)Reducer的業(yè)務(wù)邏輯寫在reduce()方法中。
4)ReduceTask進(jìn)程對每一組相同k的<k,v>組調(diào)用一次reduce()方法。
3、Driver階段
相當(dāng)于YARN集群的客戶端,用于提交我們整個程序到Y(jié)ARN集群,提交的是封裝了MapReduce程序相關(guān)運(yùn)行參數(shù)的job對象。
WordCount案例實(shí)操
本地測試
1、需求
統(tǒng)計出給出的文本文件中統(tǒng)計出每一個單詞出現(xiàn)的總次數(shù)。
1)輸入數(shù)據(jù)
新建一個文本文件命名為:HYF.txt
2)期望輸出數(shù)據(jù)
HYF 2;LJY1;LQQ 2;
CZF 1;? MGQ 1;CDH 2; WJJ 1;
2、需求分析
按照MapReduce編程規(guī)范,分別編寫Mapper、Reducer、Driver。
環(huán)境準(zhǔn)備
1)常見waven工程,命名為MapReduceDemo
文件》新建》項目
?
?更改maven下的配置
文件》設(shè)置》搜索欄》輸入maven
在pom.xml文件中添加如下依賴?
<dependencies>
????<dependency>
????????<groupId>org.apache.hadoop</groupId>
????????<artifactId>hadoop-client</artifactId>
????????<version>3.1.3</version>
????</dependency>
????<dependency>
????????<groupId>junit</groupId>
????????<artifactId>junit</artifactId>
????????<version>4.12</version>
????</dependency>
????<dependency>
????????<groupId>org.slf4j</groupId>
????????<artifactId>slf4j-log4j12</artifactId>
????????<version>1.7.30</version>
????</dependency>
</dependencies>
在項目的src/main/resources目錄下,新建一個文件,命名為“l(fā)og4j.properties”?
?操作:在resources下單擊右鍵》新建》文件
?在log4j.properties文件中填入
log4j.rootLogger=INFO, stdout ?
log4j.appender.stdout=org.apache.log4j.ConsoleAppender ?
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout ?
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n ?
log4j.appender.logfile=org.apache.log4j.FileAppender ?
log4j.appender.logfile.File=target/spring.log ?
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout ?
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
?在項目src/main/java下創(chuàng)建一個 軟件包,命名為:com.atguigu.mapreduce.wordcou
操作:java路徑下單擊右鍵》新建》軟件包
?在包c(diǎn)om.atguigu.mapreduce.wordcount下新建三個類
分別命名為:
WordCountMapper;WordCountReducer;WordCountDriver
操作:在包下單擊右鍵》新建》java類
總結(jié)
以上是生活随笔為你收集整理的MapReduce环境准备的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: afudos备份bios不动_afudo
- 下一篇: 计算机单片机毕设答辩问题,单片机毕业论文