大数据之MapReduce

MapReduce

一、概述

Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到Hadoop 集群上用于并行处理大规模的数据集。

MapReduce 作业通过将输入的数据集拆分为独立的块,这些块由 map 以并行的方式处理,框架对 map 的输出进行排序,然后输入到 reduce 中。MapReduce 框架专门用于 <key,value> 键值对处理,它将作业的输入视为一组 <key,value> 对,并生成一组 <key,value> 对作为输出

二、编程模型简述

以词频统计为例进行说明,MapReduce 处理的流程如下:

https://note.youdao.com/yws/public/resource/8f913335f04c11f8ab2e43b477d18d2c/xmlnote/EE89F33C19184A03B5F899B7E3C53C97/20240

1.input: 读取文本文件

2.splitting:将文件按照进行拆分,得到K1行数,V1表示对应的内容

3.mapping:并行将每一行按照空格进行拆分,得到List<K2,V2>,K2代表单词,V2代表单词出现的次数。

4.shuffling:由于 Mapping 操作可能是在不同的机器上并行处理的,所以需要通过 shuffling 将相同 key 值的数据分发到同一个节点上去合并,这样才能统计出最终的结果,此时得到 K2 为每一个单词,List(V2) 为可迭代集合,V2 就是 Mapping 中的 V2;

5.reducing:统计单词出现的总次数,所以计算结果,最终输出。

MapReduce 编程模型中splitting和shuffing操作都是由框架实现的,需要我们自己编程实现的是mappering和reducing,这也是MapReduce这个称呼的来源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值