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搭建到集群调优,百万播放】
相关推荐
Leo.yuan2 小时前
数据库同步是什么意思?数据库架构有哪些?
大数据·数据库·oracle·数据分析·数据库架构
SelectDB技术团队3 小时前
从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
大数据·数据仓库·clickhouse·kylin·实时分析
Web极客码4 小时前
在WordPress上添加隐私政策页面
大数据·人工智能·wordpress
Apache Flink4 小时前
Flink在B站的大规模云原生实践
大数据·云原生·flink
itachi-uchiha6 小时前
Docker部署Hive大数据组件
大数据·hive·docker
viperrrrrrrrrr76 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习
lifallen7 小时前
Flink checkpoint
java·大数据·算法·flink
Leo.yuan9 小时前
API是什么意思?如何实现开放API?
大数据·运维·数据仓库·人工智能·信息可视化
禺垣10 小时前
知识图谱技术概述
大数据·人工智能·深度学习·知识图谱
后端码匠10 小时前
Spark 单机模式部署与启动
大数据·分布式·spark