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搭建到集群调优,百万播放】
相关推荐
Data跳动3 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1114 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq5 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq5 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈5 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
清平乐的技术专栏5 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
小白学大数据6 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥6 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵
节点。csn7 小时前
Hadoop yarn安装
大数据·hadoop·分布式
不惑_7 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云