MapReduce初级编程(wordcount)

编程目的

  1. 熟悉 MapReduce 计算引擎
  2. 初步学习 MapReduce 编程

MapReduce原理学习

位于MapReduce的生态架构的计算层
在这里插入图片描述
MapReduce是一种分布式计算模型,用以进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成mapreduce两部分,其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间 结果相同“键”的所有“值”进行规约,以得到最终结果。MapReduce非常适合在大量计算机组成的分布式并行环境里进行数据处理。

关于MapReduce的了解到这里基本足够了,如想了解更多,这里提供学习链接: lMapReduce进阶学习

MapReduce词频统计编程

编程任务

题目描述:
统计文件集合中每个单词出现的次数。
例如:
文件集合包含两个文件 inputA.txt,inputB.txt。文件内容如下:

inputA.txt:
Hello world
This is WordCount

inputB.txt:
Hello guys
This is MapReduce

输出结果:

Hello 2
MapReduce 1
This 2
WordCount 1
is 2
guys 1
world 1

编程原理

在这里插入图片描述
原理:利用一个输入 Key/Value pair 集合来产生一个输出的 Key/Value pair
集合
Map 函数:接受一个输入的 Key/Value pair 值,然后产生一个中间 Key/Value
pair 值的集合。
Reduce 函数:接受一个中间 Key 值和相关的一个 Value 值的集合,合并这些
Value 值。

编程步骤

Java分词jar编写

准备工作

使用IEDA创建名字为WordCount的项目文件

在WordCount 的 src中创建名为com.sugon.mapred.example

在包中分别编写三个class文件,名字依次为:TokenizerMapper,IntSumReducer,WordCount

完成后目录文件示例:
在这里插入图片描述
然后导包,因为后续编程需要一些外部包,所以先导入,eclipse 版本的在实验文件里有,这里提供IEDA版本的链接: IDEA导包及打包教程

class文件编写

注:不建议直接复制哈!!自己照着写一写熟悉熟悉内部构造!!!!!
TokenizerMapper.java

package com.sugon.mapred.example;

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

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class TokenizerMapper extends Mapper<Object, Text, Text,IntWritable>{
   
    IntWritable one = new IntWritable(1);
    Text word = new Text(
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值