1. 程式人生 > >MapReduce 單元測試工具 MRUnit 使用

MapReduce 單元測試工具 MRUnit 使用

MRUnit的使用很簡單,流程如下:

1:根據業務要求編寫Map類,Reduce類

2:編寫測試類。

3:執行測試,得到結果。

準備測試資料:

  1. CDRID;CDRType;Phone1;Phone2;SMS Status Code
    655209;1;796764372490213;804422938115889;6
    353415;0;356857119806206;287572231184798;4
    835699;1;252280313968413;889717902341635;0

業務要求:

   找出CDRType是1的,所有的SMS Status Code的型別彙總。

map結果應該輸出如下資訊:

6, 1
0, 1

下面就是準備map,reduce類。

Map 類:

public class SMSCDRMapper extends Mapper<LongWritable, Text, Text, IntWritable> { private Text status = new Text(); private final static IntWritable addOne = new IntWritable(1); /** * Returns the SMS status code and its count
*/ protected void map(LongWritable key, Text value, Context context) throws java.io.IOException, InterruptedException { //655209;1;796764372490213;804422938115889;6 is the Sample record format String[] line = value.toString().split(";"); // If record is of SMS CDR if (Integer.parseInt(line[
1]) == 1) { status.set(line[4]); context.write(status, addOne); } } }

Reduce 類:

public class SMSCDRReducer extends Reducer<Text, IntWritable, Text, IntWritable> { protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws java.io.IOException, InterruptedException { int sum = 0; for (IntWritable value : values) { sum += value.get(); } context.write(key, new IntWritable(sum)); } }

測試Test類:

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;

相關推薦

MapReduce 單元測試工具 MRUnit 使用

MRUnit的使用很簡單,流程如下: 1:根據業務要求編寫Map類,Reduce類 2:編寫測試類。 3:執行測試,得到結果。 準備測試資料: CDRID;CDRTyp

淺析MapReduce單元測試框架—MRUnit

什麼是MRUnit MRUnit 是對MapReduce進行單元測試的一個框架,它可以很方便的測試mapper和reducer程式,MRUnit自己實現了一套Mock物件來控制OutputCollector的操作,其可以攔截map以及reduce上下文的輸出

MapReduce單元測試框架MRUnit

import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.hadoop.io.*;import org.apache.hadoop.mrunit.mapreduce.MapDriv

MapReduce單元測試

except 測試的 exc 單元測試 spa out depend ble inpu MapReduce進行單元測試的步驟: 1. 在POM中添加MRUnit <dependency> <groupId>org.apach

OpenStack基礎知識-單元測試工具介紹

單元測試 pen mongod 大量 需要 哪些 sub 導入 使用 針對以前學的內容的一個簡單整理 1、單元測試工具介紹 unittest: 是 Python 的標準庫,提供了最基本的單元測試功能,包括 單元測試運行器(簡稱runner) 和 單元測試框架。項目的單元測試

java-junit單元測試工具

java-junit單元測試工具 Junit下載地址:http://pan.baidu.com/s/1eQfQQw6 優點:     1.不用寫把方法寫main函式裡面進行測試。     2.不用進行人工對比。 操作: 1.匯入juni

Java單元測試工具JUnit 5新特性一覽

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

MapReduce單元測試不通過

前幾天用mrunit進行單元測試,一直報錯:java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskInputOutputContext, but class was expect

前端單元測試工具——karma安裝使用

首先說明的是,為了學習karma專門買了一臺macbook。該教程也只能說適合mac,windows折騰了一星期沒有進展,所以不知道是不是適合windows。 第一步:     你的電腦中要裝有node.js(node安裝使用教程自行百度) 第二步:     使用

jasmine-JavaScript單元測試工具

文章目錄 Jasmine 是什麼? 快速瞭解 快速例項 語法介紹 後言 Jasmine 是什麼? jasmine是一個用來編寫Javascript測試的框架,它不依

Java單元測試工具:JUnit4(四)——JUnit測試套件使用及引數化設定

(四)JUnit測試套件使用及引數化設定         這篇筆記記錄JUnit測試套件的使用,即批量執行測試類;以及JUnit中的引數化設定。         @RunWith   當類被

Java單元測試工具:JUnit4(三)——JUnit詳解之執行流程及常用註解

(三)執行流程及常用註解         這篇筆記記錄JUnit測試類執行時,類中方法的執行順序;以及JUnit中常用的註解。 1.JUnit的執行流程 1.1 新建測試類        

Java單元測試工具:JUnit4(二)——JUnit使用詳解

(二)JUnit使用注意點及測試失敗的兩種情況         看了慕課網的JUnit視訊教程: http://www.imooc.com/learn/356,總結筆記。       &nbs

Java單元測試工具:JUnit4(一)——概述及簡單例子

(一)JUnit概述及一個簡單例子         看了慕課網的JUnit視訊教程: http://www.imooc.com/learn/356,總結筆記。         這篇筆記記錄JUnit的

Jest-Javascript單元測試工具

Jest是一個JavaScript測試框架,由Facebook用來測試所有JavaScript程式碼,包括React應用程式。 不同級別的自動化測試:單元、整合、元件和功能. 單元測試可以看作是和在元件級別測試JavaScript物件和方法

單元測試工具Junit初試

執行單元測試是要導包的,我用的Junit-4.10.jar 新建一個class類,匯入org.junit下的包。 @Before註解是測試之前需要執行的內容,@After是測試執行完後的內容,@Test是測試內容。 public class Test { @Befo

開放原始碼 C/C++ 單元測試工具,第 2 部分: 瞭解 CppUnit

https://www.ibm.com/developerworks/cn/aix/library/au-ctools2_cppunit/index.html 本文是討論開放原始碼單元測試工具的 系列文章 的第 2 篇,介紹非常受歡迎的 CppUnit — 最初由 Eri

JUnit單元測試工具

在MapReduce程式中經常用到junit來測試測試的正確性 JUnit是Java單元測試工具。這裡以一個例子說明如何在Eclipse下進行JUnit測試。首先建立一個Java專案JUnitTest,建立類math.java,其程式碼為: 1 package www.gongqingkui.cn;

CUnit使用入門-精簡的C語言單元測試工具

目的:通過一個示例演示,掌握用Cunit做單元測試 內容: 1、介紹Cunit架構 2、介紹Cunit的測試模式 3、例項演示用Cunit 寫單元測試的操作流程 1.Cunit架構 Test Registry |

單元測試工具 CUnit 簡介

 1.CUnit簡介   1.1 CUnit簡要描述   CUnit是一個編寫、管理及執行c語言單元測試的系統。它使用一個簡單的框架來構建測試結構,併為普通資料結構的測試提供豐富的斷言。此外,CUnit為測試的執行和結果檢視提供了許多不同的介面,包括自動測試模式和可