MapReduce实际操作

MapReduce

1. 简介

1.1 MapReduce是Hadoop中进行分布式计算的框架
1.2 MapReduce会将整个计算拆分为

MapReduce在计算的时候,会将要处理的文件进行切片,注意:切片和切块不一样
Map阶段:每一个切片都会对应一个MapTask
在这里插入图片描述
在这里插入图片描述
初步理解:MaoReduce在处理数据时,会将数据切分成片
Map阶段

  1. MapReduce在处理数据时,会将数据切分成片
  2. 数据将会被分片处理,处理的出来的数据类型是:键值对(k,v)
  3. 多个分片处理完结果后,将相同的键对应,以及他们的值放到一组
    Reduce阶段
    键这些Map的数据交给Reduce处理,Reduce将数据进行汇总

2.实际操作

代码实现:
结构图:
在这里插入图片描述
WordCountMapper.java

package MapRduces01;
/**
 * 代码实现功能,统计字符串
 */
import java.io.IOException;

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

public class WordCountMapper 
		extends Mapper<LongWritable,Text,Text,IntWritable> {
   
	/*
	 * Mapper是Hadoop的顶级父类
	 * Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>
	 * MapReduce要求被传输的类型必须能够被序列化
	 * MapReduce的序列化机制默认使用的是AVRO
	 * KEYIN:输入键的类型,现阶段这个泛型表示行偏移量,是以字节来计算的
	 * VALUEIN:指的是输入类型的值,现阶段表示读取这一行的数据
	 * KEYOUT:输出的键的类型
	 * VALUEOUT:输出的值的类型
	 */
	
	protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值