`

hadoop 2.3.0 wordcount

    博客分类:
  • java
阅读更多
新建maven项目

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>hadoop2.3</groupId>
  <artifactId>example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>hadoop示例</name>
  
  
  <properties>
  	<hadoop-version>2.3.0</hadoop-version>
  </properties>
  
  <dependencies>
  
  <dependency>
	<groupId>org.apache.hadoop</groupId>
	<artifactId>hadoop-core</artifactId>
	<version>1.2.1</version>
</dependency>
  
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-mapreduce-client-app</artifactId>
		<version>${hadoop-version}</version>
	</dependency>
	
	<dependency>
	    <groupId>jdk.tools</groupId>
	    <artifactId>jdk.tools</artifactId>
	    <version>1.6</version>
	    <scope>system</scope>
	    <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
	</dependency>
	
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-mapreduce-examples</artifactId>
		<version>${hadoop-version}</version>
	</dependency>
	
	
  </dependencies>
</project>


2、新建类
/**
 * 
 */
package com.xxx.example;


	import java.io.IOException;
	import java.util.StringTokenizer;

	import org.apache.hadoop.conf.Configuration;
	import org.apache.hadoop.fs.Path;
	import org.apache.hadoop.io.IntWritable;
	import org.apache.hadoop.io.Text;
	import org.apache.hadoop.mapreduce.Job;
	import org.apache.hadoop.mapreduce.Mapper;
	import org.apache.hadoop.mapreduce.Reducer;
	import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
	import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
	import org.apache.hadoop.util.GenericOptionsParser;

	public class MyWordcount {

	  public static class TokenizerMapper 
	       extends Mapper<Object, Text, Text, IntWritable>{
	    
	    private final static IntWritable one = new IntWritable(1);
	    private Text word = new Text();
	      
	    public void map(Object key, Text value, Context context
	                    ) throws IOException, InterruptedException {
	      StringTokenizer itr = new StringTokenizer(value.toString());
	      while (itr.hasMoreTokens()) {
	        word.set(itr.nextToken());
	        context.write(word, one);
	      }
	    }
	  }
	  
	  public static class IntSumReducer 
	       extends Reducer<Text,IntWritable,Text,IntWritable> {
	    private IntWritable result = new IntWritable();

	    public void reduce(Text key, Iterable<IntWritable> values, 
	                       Context context
	                       ) throws IOException, InterruptedException {
	      int sum = 0;
	      for (IntWritable val : values) {
	        sum += val.get();
	      }
	      result.set(sum);
	      context.write(key, result);
	    }
	  }

	  public static void main(String[] args) throws Exception {
	    Configuration conf = new Configuration();
	    String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
	    if (otherArgs.length != 2) {
	      System.err.println("Usage: wordcount <in> <out>");
	      System.exit(2);
	    }
	    Job job = new Job(conf, "word count");
	    job.setJarByClass(MyWordcount.class);
	    job.setMapperClass(TokenizerMapper.class);
	    job.setCombinerClass(IntSumReducer.class);
	    job.setReducerClass(IntSumReducer.class);
	    job.setOutputKeyClass(Text.class);
	    job.setOutputValueClass(IntWritable.class);
	    FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
	    FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
	    System.exit(job.waitForCompletion(true) ? 0 : 1);
	  }
	}





3、maven install
生成jar
example-0.0.1-SNAPSHOT.jar

4、上传到hadoop_home目录


5、创建word.txt
mkdir input

vi input/word.txt
输入文字

保存

6、执行
bin/hadoop jar example-0.0.1-SNAPSHOT.jar com.xxx.example.MyWordcount file:///data01/javaapp/hadoop-2.3.0/input/word.txt output


7、查看结果
http://192.168.1.22:50070/explorer.html

或者

bin/hadoop fs -ls -R output

bin/hadoop fs -cat  output/part-**

8、删除执行结果

bin/hadoop fs -rm -r output*





分享到:
评论

相关推荐

    官网荡下的源码,自己亲手编译的hadoop2.3.0 64位,给大家分享下

    官网荡下的源码,自己亲手编译的hadoop2.x 64位,给大家分享下 文件太大放的是百度网盘链接,目前有hadoop2.3.0,后面的版本我会陆续更新。

    使用hadoop实现WordCount实验报告.docx

    **使用Hadoop实现WordCount实验报告** 实验报告的目的是详细记录使用Hadoop在Windows环境下实现WordCount应用的过程,包括环境配置、WordCount程序的实现以及实验结果分析。本实验旨在理解Hadoop分布式计算的基本...

    hadoop 2.3.0

    Hadoop 2.3.0 是一个重要的版本更新,在分布式计算领域具有深远影响。这个版本主要包含Apache Hadoop的核心组件,如HDFS(Hadoop Distributed File System)和MapReduce,以及YARN(Yet Another Resource Negotiator...

    hadoop2.3.0-64位编译完成包(3)

    这个“hadoop2.3.0-64位编译完成包”包含的`hadoop-2.3.0`文件可能是完整的源码、编译后的二进制文件或者是配置文件等,用户在下载并自行解压后,可以按照官方文档或相关教程进行安装和配置,以便在64位系统上运行和...

    hadoop2.3.0详细部署

    本文详细描述了Hadoop2.3.0安装步骤。其中有转载于其他部分的内容。

    hadoop2.3.0-eclipse-plugin

    hadoop2.3.0-eclipse-plugin htrace-core-3.0.4.jar有这个jar包。

    Hadoop 2.3.0分布式集群搭建图文.doc

    ### Hadoop 2.3.0 分布式集群搭建知识点详解 #### 一、集群环境配置 - **物理机配置**:本案例采用的操作系统为Windows 7 64位。 - **虚拟机软件**:使用的是VirtualBox 4.3.10版本。 - **操作系统**:Linux发行版...

    hadoop运行wordcount实例

    ### Hadoop运行WordCount实例详解 #### 一、Hadoop简介与WordCount程序的重要性 Hadoop 是一个由Apache基金会所开发的分布式系统基础架构。它能够处理非常庞大的数据集,并且能够在集群上运行,通过将大数据分割...

    Hadoop mapreduce实现wordcount

    【标题】Hadoop MapReduce 实现 WordCount MapReduce 是 Apache Hadoop 的核心组件之一,它为大数据处理提供了一个分布式计算框架。WordCount 是 MapReduce 框架中经典的入门示例,它统计文本文件中每个单词出现的...

    hadoop之wordcount例程代码

    WordCount是Hadoop入门学习中的一个经典示例,用于统计文本中各个单词出现的次数。这个程序简单直观,很好地展示了MapReduce的工作原理。接下来,我们将深入探讨Hadoop的WordCount实例及其背后的原理。 首先,我们...

    Hadoop开发WordCount源码详细讲解

    Hadoop开发WordCount源码程序详细讲解,每一行都带注释说明。

    hadoop-wordcount测试程序

    hadoop-wordcount测试程序,jar包,单词统计的不二之选

    hadoop的wordcount简单实例

    这是一个wordcount的一个简单实例jar包,仅仅用来做测试。...map类:org.apache.hadoop.wordcount.WordCountMapReduce$WordCountMapper reduce类 org.apache.hadoop.wordcount.WordCountMapReduce$WordCountReducer

    ubuntu运行hadoop的wordcount

    ### Ubuntu上运行Hadoop WordCount实例详解 #### 一、环境搭建与配置 在Ubuntu系统上部署并运行Hadoop WordCount实例,首先需要确保已经安装了Hadoop环境,并且版本为hadoop-0.20.2。此版本较旧,主要用于教学或...

    hadoop实现wordcount

    "hadoop实现wordcount"是一个经典的入门示例,用于演示Hadoop的MapReduce编程模型。在这个项目中,我们将探讨如何使用Hadoop进行大规模文本数据的情感分析,并统计单词出现的频率。 MapReduce是Hadoop的核心组件之...

    hadoop1.2.1修改WordCount并编译

    "Hadoop 1.2.1 版本下修改 WordCount 程序并编译" Hadoop 是一种基于分布式处理的大数据处理框架,其中 WordCount 程序是一个经典的示例程序,用于统计文本文件中的词频信息。在 Hadoop 1.2.1 版本下,我们可以修改...

    hadoop mapreduce wordcount

    &lt;artifactId&gt;wordcount &lt;version&gt;0.0.1-SNAPSHOT &lt;packaging&gt;jar &lt;name&gt;wordcount &lt;url&gt;http://maven.apache.org&lt;/url&gt; &lt;project.build.sourceEncoding&gt;UTF-8 &lt;groupId&gt;org.apache.hadoop ...

    大数据实验报告Hadoop编程实现wordcount单词统计程序附源码.doc

    大数据实验报告 Hadoop 编程实现 wordcount 单词统计程序附源码 本实验报告旨在介绍使用 Hadoop 编程实现 wordcount 单词统计程序的步骤和代码实现。实验的目的在于熟悉 Hadoop 虚拟机的安装与环境的配置,初步理解...

    WordCount2_hadoopwordcount_

    在标题中的"WordCount2_hadoopwordcount_"可能指的是Hadoop WordCount的第二个版本,通常是在Hadoop 2.x环境下运行。这个程序的核心任务是对输入文本进行分词,统计每个单词出现的次数,并将结果输出。在这个过程中...

Global site tag (gtag.js) - Google Analytics