Hadoop3教程(九):MapReduce框架原理概述

文章目录

  • 简介
  • 参考文献

简介

这属于整个MR中最核心的一块,后续小节会展开描述。

整个MR处理流程,是分为Map阶段和Reduce阶段。

一般,我们称Map阶段的进程是MapTask,称Reduce阶段是ReduceTask。

其完整的工作流程如图:

Hadoop3教程(九):MapReduce框架原理概述_第1张图片

Map阶段具体的工作任务是啥呢?

1) map阶段决定,根据数据源,可以选择根据什么方式来读取数据;

默认情况下,map阶段读数据,是按行读,读取到的KV里,K是偏移量(可以理解成行数),V是这一行的内容。那map阶段是不是只能这么行读呢?

不是。

这里就要介绍一个组件,叫做InputFormat,它就是用来控制数据的读取形式。

Hadoop中的InputFormat有好几种实现,如FileInputFormat、TextInputFormat和CombineTextInputFormat等。

2) 数据在被读进来之后,就会交给Mapper来进行自定义业务逻辑的处理;

3)接着进行shuffle,这是一个非常复杂的过程,可以在这里进行排序、分区、压缩、合并等等, 堪称MapReduce中最核心的环节

最后进入reduce阶段,也有一个组件,叫做OutputFormat,用来控制数据的输出形式。同样的,它也有好几种实现,默认的OutputFormat是把数据写进文件里,那我想写进数据库里,可不可以呢?

当然可以,自定义OutputFormat就可以。

接下来的几节就会围绕这个流程做展开讲述:

  • InputFormat
  • Shuffle机制
  • OutputFormat
  • Join应用

参考文献

  1. 【尚硅谷大数据Hadoop教程,hadoop3.x搭建到集群调优,百万播放】

你可能感兴趣的:(大数据技术,mapreduce,大数据,hadoop)