Hadoop运行WordCount程序有输入,不生成输出的文件

图片说明

代码如下:

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.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.mapreduce.Job;
import org.apache.hadoop.util.GenericOptionsParser;

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

public class WordCountMapReduce {

public static void main(String[] args) throws Exception{

    Configuration configuration = new Configuration();

    String[] otherArgs = (new GenericOptionsParser(configuration, args)).getRemainingArgs();

    if (otherArgs.length < 2){

        System.out.println("Usage:wordcount<in>[<in>···]<out>");
        System.exit(2);

    }

    */

/**
* 设置环境参数
//

    Job job = Job.getInstance(configuration, "wordcount");

    */

/**
* 设置整个程序的类名
//

    job.setJarByClass(WordCountMapReduce.class);

    */

/**
* 添加Mapper类
//

    job.setMapperClass(WordCountMapReduce.WordCountMapper.class);

    */

/**
* ?
//

    //job.setCombinerClass(WordCountMapReduce.WordCountReducer.class);

    */

/**
* 添加Reducer类
//

    job.setReducerClass(WordCountMapReduce.WordCountReducer.class);

    */

/**
* 设置输出类型
//

    job.setOutputKeyClass(Text.class);

    */

/**
* 设置输出类型
//

    job.setOutputValueClass(IntWritable.class);

    for (int i = 0;i < otherArgs.length - 1;++i){

        */

/**
* 设置输入文件
//

        FileInputFormat.addInputPath(job, new Path(otherArgs[i]));

    }

    */

/**
* 设置输出文件
//

    FileOutputFormat.setOutputPath(job, new Path(otherArgs[otherArgs.length - 1]));

    System.exit(job.waitForCompletion(true)?0:1);

}

//map程序
public static class WordCountMapper extends Mapper<Object, Text, Text, IntWritable> {

    */

/*
* map方法是提供给map task进程来调用的,map task进程是每读取一行文本来调用一次我们自定义的map方法
* map task在调用map方法时,传递的参数:
* 一行的起始偏移量LongWritable作为key
* 一行的文本内容Text作为value
//

    private static final IntWritable one = new IntWritable(1);
    private Text word = new Text();

    public WordCountMapper() {
    }

    @Override
    protected void map(Object key, Text value, Mapper<Object, Text, Text, IntWritable>.Context context) throws IOException, InterruptedException {

        StringTokenizer stringTokenizer = new StringTokenizer(value.toString());

        while (stringTokenizer.hasMoreTokens()) {

            this.word.set(stringTokenizer.nextToken());
            context.write(this.word, one);

        }

    }
}

//reduce程序
*/

/*
* KEYIN:对应mapper阶段输出的key类型
* VALUEIN:对应mapper阶段输出的value类型
* KEYOUT:reduce处理完之后输出的结果kv对中key的类型
* VALUEOUT:reduce处理完之后输出的结果kv对中value的类型
//

public class WordCountReducer extends Reducer<Text, IntWritable, Text, IntWritable> {
    */

/*
* reduce方法提供给reduce task进程来调用
*
* reduce task会将shuffle阶段分发过来的大量kv数据对进行聚合,聚合的机制是相同key的kv对聚合为一组
* 然后reduce task对每一组聚合kv调用一次我们自定义的reduce方法
* 比如:
* hello组会调用一次reduce方法进行处理,tom组也会调用一次reduce方法进行处理
* 调用时传递的参数:
* key:一组kv中的key
* values:一组kv中所有value的迭代器
//

    private IntWritable intWritable = new IntWritable();

    public WordCountReducer(){
    }

    public void intWritable(Text key, Iterable<IntWritable>values, Reducer<Text, IntWritable, Text, IntWritable>.Context context)throws IOException, InterruptedException{

        int sum = 0;
        IntWritable val;

        for (Iterator i$ = values.iterator(); i$.hasNext(); sum += val.get()){

            val = (IntWritable)i$.next();

        }

        this.intWritable.set(sum);
        context.write(key, this.intWritable);

    }


}

}

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Hadoop学习笔记--运行wordcount时输出文件问题总结
hadoop的设计就是为了批量处理大量数据,而不是随机定位到个别文件去独立修改。因此,hadoop设计时就默认文件不会被更改,所以也引出了本文的问题--mapreduce作业输出文件夹必须不存在!这也算是一种保护机制,防止之前的文件被篡改。后面学习MapReduce还会回头来加深这个问题。...
hadoop运行自带的WordCount例子。
 使用hadoop用户登录   1、编译WordCount.java文件 cd /opt/hadoop/hadoop-1.2.1/src/examples/org/apache/hadoop/examples 进入该目录 执行下面的命令 javac -classpath /opt/hadoop/hadoop-1.2.1/hadoop-core-1.2.1.jar://opt/hado...
eclipse hadoop windows 运行wordcount程序,上传文件内容为空的原因及解决办法
1.问题描述:在eclipse中连接hadoop后,运行wordcount程序,发现上传到input文件夹得txt文档为空,运行结果   ouput文件夹中的文件内容也为空。          2. 环境说明:hadoop-2.7.3;                                  eclipse-java-oxygen-R-win32-x86_64;
hadoop中文wordcount无结果输出
废话不多说,最近在学hadoop,然后利用docker搭建的集群,网上有利用docker搭建hadoop的博客教程。 但是需要提醒一下,我看的两篇博客都没设置将mapreduce函数放到yarn平台跑,都是自己利用本地机器跑的。 自己边搭边踩坑,终于遇到一个百度也没直接找到解决方法的问题。 英文的wordcount跑成功之后,寻思利用分词做个中文的wordcount。 我是按照视频来的,就
Hadoop WordCount执行结果查看
hadoop3.x访问:http://localhost:9870 选择浏览 打开output文件夹: 下载该文件即可
Hadoop(二)——WordCount运行和解读
执行WordCount程序1.以hadoop用户进入到linux系统2.启动hadoop3.在home目录下创建一个file文件夹,”~/”表示在home目录下,”/”表示在根目录下。并且在文件夹file内创建两个文本文件file1.txt和file2.txt.4.在HDFS上创建输入文件夹。调用文件系统(FS)Shell命令应使用bin/hadoop fs <args>的形式,因为环境变量
在命令行中运行Hadoop自带的WordCount程序
Hadoop集群搭建完之后,接下来就需要开始尝试去使用它啦。我们可以在这个集群上运行Hadoop的“Hello World程序”——WordCount单词计数。这个程序的代码在我们下载安装Hadoop的时候就已经打包下载好了,我们只需要直接去使用就可以了。 (一)、启动hdfs进程服务: 进入hadoop的目录中:cd Hadoop/hadoop-2.7.7 进入相应目录后启动HDFS的进程...
在windows下搭建hadoop工程(二)之 WordCount 作业测试
四、WordCount.java测试1、测试准备wordcount.java程序是用来统计词频的,因此这里需要先建好输入文件。/test/input/ 但是发现从eclipse上传到hdfs中的文件大小始终都为0尝试使用hadoop shell的方式来创建文件。 在执行文件上传命令时会抛出异常: File /tmp/wordcount/1.txt could only be replicate
Hadoop安装配置、运行第一个WordCount示例程序
操作系统ubuntu。本篇目的是在单机模式下运行成功WordCount示例程序。 本篇小结安装步骤,遇到的问题和解决办法。 疑惑点及其思考。 Hadoop是为linux而开发的,所以开发hadoop程序,包括spark最好在linux环境下。目录如下: 一:Hadoop运行环境安装: java1.6安装配置 Hadoop用户创建 SHH安装及配置 二:安装Hadoo
hadoop 自带示例wordcount 详细运行步骤
因为机器学习,接触到了数据挖掘;因为数据挖掘,接触到了大数据;因为大数据,接触到了Hadoop。之前有过hadoop的简单了解,但都是基于别人提供的hadoop来学习和使用,虽然也很好用 ,终究不如自己的使用起来方便 。经过这两天参考大量网上的经验,终于成功的搭建了自己的hadoop完全分布式环境。现在我把所有的安装思路、安装过程中的截图以及对待错误的经验总结出来,相信安装这个思路去做,hadoop
windows下用Eclipse开发Wordcount程序并生成jar包上传到hadoop集群去执行
因为我安装的是centos7 服务器版本而非桌面版本,因此没办法在namenode所在虚拟机上安装Eclipse等开发工具。本来想到可以在本地Eclipse中添加hadoop插件,然后就可以直接在本地开发和测试,但无奈鼓捣了一天最后以失败告终。因此改变思路,想到用在本地开发后生成jar包,然后发送到namenode节点去运行的方式。这种方式与上一种的区别就是没法在本地运行(因为没有配置hadoop...
IDEA + Hadoop工程入门实例 ——Word Count编程
一、       启动IDEA 进入/home/iespark/hadoop_program_files/idea-IC-143.1184.17/bin,执行“./idea.sh”。 二、       新建工程 点击File->new->project,弹出对话框,选择Java->Kotlin(Java)(如图1.1),点击next,输入项目名,项目保存路径,点击Finish,NewWind
运行hadoop自带wordcount例子
运行hadoop自带wordcount例子 GSS initiate failed
在yarn中的运行wordcount
在hadoop中进行提交作业到yarn运行MapReduce运算wordcount①首先保证yarn正常启动了②切换到hadoop安装目录之下的share目录zhangsf@hadoop1:/opt/hadoop-2.6.5/share/hadoop/mapreduce$ pwd /opt/hadoop-2.6.5/share/hadoop/mapreduce找到examples的jar包/opt...
windows下idea编写WordCount程序,并打jar包上传到hadoop集群运行
前提条件 1.已在虚拟机中安装了hadoop集群环境                   版本                          windows 10                          IntelliJ IDEA 2.16.3.5                          centos : 7                          ha
Hadoop 2.2.0和HBase 0.98.11伪分布式
安装和整合Hadoop 2.2.0和HBase 0.98.11伪分布式
wordcount程序卡住了
问题,内置wordcount程序运行到INFO mapreduce.Job: Running job: job_1492509956955_0001卡住了,很长时间不动: 17/04/18 18:00:30 INFO client.RMProxy: Connecting to ResourceManager at heres04/192.168.2.113:8032 17/04/18 18:00
Hadoop学习1_在使用命令行运行WordCount时,遇到的jar命令说明
1. jar cf WordCount.jar WordCount*.class 使用情况: 编译WordCount.java文件,编译java文件的命令为javac,截图如下: 编译WordCount.java 此时,在workspace文件夹下将会出现生成三个class文件, 编译后生成class文件 编译成功后,即可将三个class文件打包成jar文件,
【学习笔记】用Hadoop在MapReduce中WordCount简单程序运行详细流程
1、首先在电脑上安装配置Hadoop环境具体的环境配置可以参考我上传的文档: Hadoop安装手册 Hadoop-2.5.2:http://download.csdn.net/download/m0_37885286/9859619 ,里面的内容十分详尽,按照里面的内容配置,简单高效,里面所需要用到的centOS6.5的镜像在网上搜一个,我用的是:CentOS-6.5-x86_64-bi
Hadoop之WordCount实战详解
WorldCount可以说是MapReduce中的helloworld了,单词计数主要完成的功能是:统计一系列文本文件中每个单词出现的次数,通过完成这个简单程序让读者摸清 MapReduce 程序的基本结构。 特别是对于每一个阶段的函数执行所产生的键值对。这里对MapReduce过程原理不过多说明。 环境说明 CentOS 7 Hadoop 2.7.5 JDK 1.8 IDE是IDEA+Gr...
Hadoop伪分布式运行wordcount小例子
先说点小知识 hadoop fs 使用面最广,可以操作任何文件系统 hadoop dfs和hdfs dfs只能操作HDFS相关的 在上一篇博客中,我们已经成功启动了HDFS和YARN,接下来 先建数据存放目录和结果输出目录 root@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -mkdir /data/input root@guo:/opt/Hado
使用Hadoop自带的例子wordcount实现词频统计
Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用wordcount实现词频统计。具体步骤如下: 1. 启动Hadoop     切换到Hadoop安装目录下的sbin目录下执行./start-all.sh命令     或执行./start-dfs.sh和./start-yarn.sh两条命令 2. 在集群中创建目录inputd...
自己写wordcount程序在hadoop上运行
已经搭建好hadoop集群环境,并已成功在hadoop上运行wordcount程序,不过这里我将wordcount程序改了改,不做单词统计,做字符统计 下面是我的pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <hadoop.version>
Eclipse 运行WordCount实例 (连接Linux下的Hadoop集群)
在Eclipse连接运载在Linux上的Hadoop之前,请先保证Hadoop是运行状态。 本人的hadoop配置文件: core-site.xml 19 <configuration> 20 <property> 21 <name>hadoop.tmp.dir</name> 22 <value>file:/usr/local/hadoop-2.8.
java编写的hadoop wordcount,单MR任务实现按照词频排序输出结果
由于之前写MR任务都是采用Streamming方式,以python语言编写,因此对于整个MR的过程细节要求不高,也不需要理解。但是java作为hadoop的原生语言,无论是性能效率、规范性、输出工具的易用性和完整性上,都是python无法比拟的,因此学习如何采用java进行编写MR任务。第一个WordCount任务就遇到了麻烦,单纯的进行词频统计是非常简单的,但是如果要将最后的结果按照频次排序倒序输
Hadoop大数据平台入门——第一个小程序WordCount
首先我们需要安装Hadoop,并对Hadoop进行配置。这里我们就不赘述了,详情看这篇博客:Hadoop安装配置 值得注意的是,配置的时候,需要给Hadoop权限才能正确执行。最简单的办法就是讲hadoop以及其目录下所有文件都归在一个组中。 chown -R hadoop:hadoop hadoop文件夹就可以了。 配置完成之后,我们我们还需要什么? 1.需要在HDFS
第一个hadoop程序:WordCount
在windows8.1+eclipse编写hadoop程序,并尝试运行,步骤如下: 1.在Eclipse开发环境中创建JAVA工程 双击桌面上的Eclipse的快捷方式。首先选择菜单“File -> New -> Java Project”。再在“Project name:”文本框中输入工程名“WordCount”。最后点击“Next”按钮。 2. 添加编译依赖类库
flink安装以及运行自带wordcount示例(单机版,无hadoop环境)
1、下载安装包到/opt目录 2、解压安装包 tar zxf flink-1.6.1-bin-hadoop26-scala_2.11.tgz  3、启动flink cd /opt/flink-1.6.1/bin [root@localhost bin]# ./start-cluster.sh  Starting cluster. Starting standalonesession ...
用hadoop自带的wordcount测试
1、创建文件example.txt,并将其拷贝到hdfs的/user/root中 ./hadoop fs -put /root/example.txt /user/root 2、执行hadoop-mapreduce-examples-2.8.0.jar ./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2...
Hadoop 2.9.0 伪分布式搭建,并运行wordcount 的一些坑
1、前期建立java环境,安装hadoop的掠过不谈。只要输入jps命令后,能出现类似于 6528 NodeManager 6227 SecondaryNameNode 6035 DataNode 7398 Jps 5914 NameNode 6410 ResourceManager 的就行了。 如果没有NameNode,可以参考http://blog.csdn.net/dongzhongy...
配置Hadoop伪分布式模式并运行WordCount示例操作实例演示步骤
该篇博客是基于hadoop单机模式的构建成功的前提下,进行直接操作的,关于  hadoop单机模式的构建可以参考为上一篇博文:http://blog.csdn.net/henni_719/article/details/77718642 PS:全程以root的角色进行配置安装 第一部分:伪分布式配置 伪分布模式主要涉及一下配置信息: (1)修改hado
在windows10本地运行wordcount程序报错
错误展示: null chmod 0700 D:\tmp\hadoop-darren\mapred\staging\darren959377275\.staging 解决办法很简单,访问下面的url,得到2.7.3文件bin下的hadoop.dll,将其拷贝到windows\system32下搞定 https://github.com/SweetInk/hadoop-common-bin...
配置 hadoop 开发环境+运行 wordcount 程序
一 eclipse 中 hadoop 环境部署概览 二 前期准备 三 配置 Hadoop 开发环境 四 Eclipse 中直接提交 MapReduce任务 1 新建 MapReduce工程 2 新建 java 工程 五 以 Jar 包方式运行 1 系统 Export 输出 jar 包 2 使用第三方插件 FatJar 六 参考资料 1 FatJar 安装 2 参考链接一. eclipse 中
Hadoop 运行wordcount任务卡在job running的一种解决办法
Hadoop 运行wordcount任务卡在runnning job的一种解决办法 在使用Mac系统构建本地伪分布式hadoop系统,遇到如下问题 网上有较多的解决办法,但是均不能解决我的问题,后来经过google查询之后,对yarn-site.xml 添加以下配置信息 &amp;lt;property&amp;gt; &amp;lt;name&amp;gt;yarn.nodemanager.disk-he...
hadoop 第一个程序wordcount执行过程
第一次在hadoop上执行wordcount程序,原来是照着书上一步步来的,发现书上记录的都不是特别明确,仅有主要的命令,对于我这个小白来说,一敲命令就出来错简直太打击学习积极性了。于是把详细过程记录一下,仅是学习笔记。默认已配置好hadoop(我是伪分布的模式)
使用Hadoop运行WorldCount示例
使用Hadoop运行WorldCount示例上一节中我们搭建好了Hadoop的运行环境,虽然还没开始学习Hadoop各个组件的框架原理,但是我先来通过hadoop运行自带的worldcount示例来熟悉一下它的操作流程。 1.首先找到hadoop自带worldcount jar包示例的路径: 2.准备工作,需要创建输入输出路径以及上传的文件: (1)创建目录 hadoop fs -mkdi
Hadoop学习之路(十三)MapReduce的初识
MapReduce是什么 首先让我们来重温一下 hadoop 的四大组件: HDFS:分布式存储系统 MapReduce:分布式计算系统 YARN:hadoop 的资源调度系统 Common:以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等 MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用” 的核心框架 MapRedu...
Hadoop学习之idea开发wordcount实例
在使用idea开发wordcount实例中,首先构建一个maven工程,需要引入的依赖有: &amp;lt;repositories&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;id&amp;gt;apache&amp;lt;/id&amp;gt; &amp;lt;url&amp;gt;http://maven.apache.org&amp;lt;/url&amp;gt; &amp;lt;/reposito...
【一】hadoop单机版安装及运行wordcount
环境ubuntu16.041.更新aptsudo apt-get update2.确保已安装JAVA如果没有请看安装步骤:Linux安装JAVA确保已安装SSH如果没有请看安装步骤:安装SSH确保已配置SSH免密码登录如果没有请看配置步骤:SSH免密码登录这里单机则是:将A公钥添加到A认证文件中:cat ~/.ssh/id_rsa.pub &amp;gt;&amp;gt; ~/.ssh/authorized_ke...
HBase与WordCount的结合使用Demo
例子运行条件: hadoop和hbase集群都已经正常启动,hdfs文件系统中已上传作为单词统计的源文件 hadoop的安装可以参考:hadoop-1.2.1安装方法详解 hbase的安装可以参考:hbase-0.94安装方法详解 单词计数的源文件准备参考:hadoop的第一个程序 WordCount 注:本例子测试于hadoop-1.2.1和hbase-0.94 packag