MapReduce学习笔记(一)——WordCount环境准备

MapReduce学习笔记(一)——WordCount环境准备,第1张

MapReduce学习笔记(一)——WordCount环境准备  实例描述——WordCount

WordCount是一个很经典的MapReduce的例子,hadoop也自带了wordcount的mapreduce的example。wordcount也可说是集群计算中的helloworld。

wordcount是指,统计文件中出现的单词以及每个单词出现的次数。

比如说我们准备一个输入文件,我们可以选择txt格式的文件,我们要统计下面这个文件中每个单词出现的次数。

abc abc abc
ss ss
ttt
kk kk kk kk
tjaf
faf faf

然后我们预期的结果如下,也就是说我们生成的结果文件其内容大致如下所示,因为在mapreduce的过程中,会自动整理成排序的形式(由于map的数据结构),所以实际的结果的单词显示的顺序会与下面所显示的内容顺序不同。

abc 3
ss 2
ttt 1
kk 4
tjaf 1
faf 2

接下来会演示单机模式下的wordcount的编写过程

WordCount 环境准备

IDE推荐使用IDEA pro,准备好maven、hadoop文件,然后配置好hadoop的系统环境变量,jdk1.8。

首先创建一个maven项目,项目相关信息随意。

File -> settings,搜索maven,上面的蓝圈选择maven文件夹,下面的选择好自己的settings.xml。

settings.xml这个xml文件中需要配置好aliyun镜像和localrepository路径这两个内容。至于maven文件,Maven – Welcome to Apache Maven 这里可以下载。

settings文件如下,前几行的那个localRepository记得修改为自己的,默认是C:Usersxxx.m2repository这个路径,xxx要换成自己的电脑的用户名,可以去看看。



    C:Usersxxx.m2repository
    
        org.mortbay.jetty
    

    
    
    
        
            releases
            ali
            ali
        
        
            Snapshots
            ali
            ali
        
    
    
        
            
            nexus
            central
            aliyun maven
            http://maven.aliyun.com/nexus/content/groups/public/
        
        
            
            alimaven
            central
            aliyun maven
            http://maven.aliyun.com/nexus/content/repositoryies/central
        
        
            
            nexus-public-snapshots
            public-snapshots
            http://maven.aliyun.com/nexus/content/repositories/snapshots/
        
    
    
        
            development
            
                
                    central
                    http://central
                    truealways
                    truealways
                
            
            
                
                    central
                    http://central
                    truealways
                    truealways
                
            
        
        
            
            public-snapshots
            
                
                    public-snapshots
                    http://public-snapshots
                    false
                    truealways
                
            
            
                
                    public-snapshots
                    http://public-snapshots
                    false
                    truealways
                
            
        
    
    
        development
        public-snapshots
    

好了,IDEA的配置告一段落,在项目文件中,在根目录下可以看到IDEA自己创建的一个pom.xml文件,它用来存放maven的依赖,也就是需要使用到什么包,都可以写在里面,maven自己会去下载。

在这个示例中,可以将pom.xml修改为如下,换句话说在原来的基础之上将其中标签中的那三个要添加好。复制且只复制中的内容,放到自己的pom.xml中。后去我们导成jar包的时候还需要添加新的



    4.0.0

    com.xunn
    HDFSClient
    1.0-SNAPSHOT

    
        8
        8
    

    
        
            org.apache.hadoop
            hadoop-client
            3.1.3
        
        
            junit
            junit
            4.12
        
        
            org.slf4j
            slf4j-log4j12
            1.7.30
        
    

然后在项目中的srcmainresources下新建一个文件,文件名为log4j.properties,并添加如下代码段,作为log4j的配置信息。

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

在下图的位置创建package,然后建三个类。

然后,基本工作就准备完毕,接下来可以开始编写Mapper、Reducer和Driver的代码了。详见下一篇文章。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5682973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存