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搭建到集群调优,百万播放】
相关推荐
一只栖枝5 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
喂完待续9 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
青云交9 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
计艺回忆路11 小时前
从Podman开始一步步构建Hadoop开发集群
hadoop
还是大剑师兰特15 小时前
Flink面试题及详细答案100道(1-20)- 基础概念与架构
大数据·flink·大剑师·flink面试题
1892280486118 小时前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存
武子康19 小时前
大数据-70 Kafka 日志清理:删除、压缩及混合模式最佳实践
大数据·后端·kafka
CCF_NOI.20 小时前
解锁聚变密码:从微观世界到能源新未来
大数据·人工智能·计算机·聚变
杨荧21 小时前
基于Python的电影评论数据分析系统 Python+Django+Vue.js
大数据·前端·vue.js·python
数据智研1 天前
【数据分享】上市公司创新韧性数据(2007-2023)
大数据·人工智能