Hadoop核心组件之MapReduce

Posted liuge36

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop核心组件之MapReduce相关的知识,希望对你有一定的参考价值。

## MapReduce概述
- Google MapReduce的克隆版本
- 优点:海量数据的离线处理,易开发,易运行
- 缺点:实时流式计算
Hadoop MapReduce是一个软件框架,用于轻松编写应用程序,以可靠,容错的方式在大型集群(数千个节点)的商用硬件上并行处理大量数据(多TB数据集)

## MapReduce编程模型
**思想:分而治之**
MapReduce作业通常将输入数据集拆分为独立的块,这些块由map任务以完全并行的方式处理。框架对map的输出进行排序,然后输入到reduce任务。通常,作业的输入和输出都存储在文件系统中。该框架负责调度任务,监视它们并重新执行失败的任务。
![在这里插入图片描述](https://img-blog.csdn.net/20181017172130250?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWdlMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

案例;统计一篇文章,各个单词出现的次数
Input数据输入
Splitting:拆分数据读取到各个节点
Mapping:为每一个单词赋1,不会做合并操作
Shuffling: 重新洗牌(指定规则),这里把相同单词发到同一个节点去
Reducing : 统计合并相同单词的次数

最后把结果写到一个文件中去就ok了













以上是关于Hadoop核心组件之MapReduce的主要内容,如果未能解决你的问题,请参考以下文章

大数据技术之Hadoop(MapReduce)

Hadoop系列Hadoop三大核心之Yarn-资源调度初探

Hadoop之MapReduce基础

大数据Hadoop之MapReduce

Hadoop 执行引擎之 MapReduce

Hadoop2.0之YARN组件