mrunit for wordcount demo

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mrunit.mapreduce.MapDriver;
import org.apache.hadoop.mrunit.types.Pair;
import org.junit.Test;

public class wordcountest {

    @SuppressWarnings({ "rawtypes", "unchecked" })
    @Test
    public void test() throws IOException {
        // fail("Not yet implemented");
        Text value = new Text("hello world hello hadoop");
        List<Pair<Text, IntWritable>> outputs = new ArrayList<Pair<Text, IntWritable>>();

        outputs.add(new Pair(new Text("hello"), new IntWritable(1)));
        outputs.add(new Pair(new Text("world"), new IntWritable(1)));
        outputs.add(new Pair(new Text("hello"), new IntWritable(1)));
        outputs.add(new Pair(new Text("hadoop"), new IntWritable(1)));
        // Temperature ^^^^^
        new MapDriver<Object, Text, Text, IntWritable>()
                .withMapper(new WordCount.TokenizerMapper())
                .withInput(new LongWritable(0), value).withAllOutput(outputs)
                .runTest();
    }
}

在hadoop权威指南的第六章有详细讲解这方面的示例,可以参照以完成自己的需求,如果需要更多的理解,可以多看下TestDriver类来满足自己的需求和修改。

模拟小集群测试的时候需要扩展ClusterMapReduceTestCase此类,可以参照hadoop权威指南中的示例。

建议在开发mapreduce的时候,写好自己的单元测试,这样对数据的质量有进一步的保证,而且要让写mrunit成为编写mapreduce程序的一种标准。

时间: 2024-11-07 07:13:03

mrunit for wordcount demo的相关文章

Python开发MapReduce系列(一)WordCount Demo

原创,转发请注明出处. MapReduce是hadoop这只大象的核心,Hadoop 中,数据处理核心就是 MapReduce 程序设计模型.一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们.框架会对map的输出先进行排序, 然后把结果输入给reduce任务.通常作业的输入和输出都会被存储在文件系统中.因此,我们的编程中心主要是 mapper阶段和reducer阶段. 下面来从零开发一个MapReduce程序

WordCount Analysis

1.Create a new java project, then copy examples folder from /home/hadoop/hadoop-1.0.4/src; Create a new folder named src, then Paste to the project to this folder. Error: Could not find or load main class right-click src folder, --> build Path --> U

Linux下安装Hadoop(2.7.1)详解及WordCount运行

一.引言 在完成了Storm的环境配置之后,想着鼓捣一下Hadoop的安装,网上面的教程好多,但是没有一个特别切合的,所以在安装的过程中还是遇到了很多的麻烦,并且最后不断的查阅资料,终于解决了问题,感觉还是很好的,下面废话不多说,开始进入正题. 本机器的配置环境如下: Hadoop(2.7.1) Ubuntu Linux(64位系统) 下面分为几个步骤来详解配置过程. 二.安装ssh服务 进入shell命令,输入如下命令,查看是否已经安装好ssh服务,若没有,则使用如下命令进行安装: sudo

Hadoop 学习一

最近在学习 hadoop , 这是一个非常优秀的分布式框架 , 在学习的过程中也遇到了很多的问题 , 几度让人崩溃 , 我现在说说我遇到的问题 , 现在记录下来和以后方便翻阅 , 同时也希望给在刚刚学习hadoop的朋友们一点小小的帮助. 我在看了hadoop自己的WordCount Demo后,自己也写了一个小Demo,但是遇到了问题 ,下面我先说一下问题所在: 我在本地新建 了一个文件夹(in)作为输入文件夹,文件夹内新建了两个文本文件 (1.txt    2.txt) 我的输入文件内容如下

Linux中安装配置hadoop

一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本. 二. 准备工作 2.1 创建用户 创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好. 1 sudo adduser hadoop 2 sudo vim /etc/sudoers 3 # 修改内容如下: 4 root ALL = (ALL)ALL 5 hadoop A

搭建Hadoop2.6.4伪分布式

准备工作 操作系统 CentOS 7 软件环境 JDK 1.7.0_79 下载地址 SSH,正常来说是系统自带的,若没有请自行搜索安装方法 关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 设置HostName [[email protected] ~]# hostname localhost 安装环境 安装JDK [[email prote

3 kafka介绍

 本博文的主要内容有 .kafka的官网介绍 http://kafka.apache.org/ 来,用官网上的教程,快速入门. http://kafka.apache.org/documentation kafka的官网文档教程. The Producer API allows an application to publish a stream records to one or more Kafka topics. The Consumer API allows an application

4 kafka集群部署及生产者java客户端编程 + kafka消费者java客户端编程

本博文的主要内容有   kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zookeeper 集群或者利用 kafka自带的zookeeper. 单机模式,用的是kafka自带的zookeeper, 分布式模式,用的是外部安装的zookeeper,即公共的zookeeper. Step 6: Setting up a multi-broker cluster So far w

3、Kafka学习分享|快速入门-V3.0

Kafka学习分享|快速入门 这个教程假定你刚开始是新鲜的,没有现存的Kafka或者Zookeeper 数据.由于Kafka控制控制脚本在Unix和Windows平台不同,在Windows平台使用bin\windows\ 代替 bin/,并且更改脚本扩展名为.bat. 第一步:下载编码 下载0.10.2.0版本并且解压它. 第二步:启动服务器 Kafka使用Zookeeper,因此如果你没有Zookeeper server,你需要先启动a ZooKeeper server.你可以使用Kafka的