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

文章目录

简介

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

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

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

其完整的工作流程如图:

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搭建到集群调优,百万播放】
相关推荐
徐*红3 分钟前
Elasticsearch 8.+ 版本查询方式
大数据·elasticsearch
大数据深度洞察13 分钟前
Hive企业级调优[2]—— 测试用表
数据仓库·hive·hadoop
DolphinScheduler社区15 分钟前
怎么办?用DolphinScheduler调度执行复杂的HiveSQL时无法正确识别符号
大数据
goTsHgo17 分钟前
Hive自定义函数——简单使用
大数据·hive·hadoop
码爸20 分钟前
flink 例子(scala)
大数据·elasticsearch·flink·scala
FLGB20 分钟前
Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比
大数据·flink·kubernetes
码爸22 分钟前
flink 批量压缩redis集群 sink
大数据·redis·flink
core51222 分钟前
Flink官方文档
大数据·flink·文档·官方
周全全25 分钟前
Flink1.18.1 Standalone模式集群搭建
大数据·flink·集群·主从·standalone
Hello.Reader28 分钟前
StarRocks实时分析数据库的基础与应用
大数据·数据库