Hadoop之MapReduce03【wc案例流程分析】

简介: Hadoop之MapReduce03【wc案例流程分析】


 上篇文件介绍了自定义wordcount案例的实现,本文来介绍下具体的执行流程

流程图

image.png

流程说明

1.当客户端提交submit的时候客户端程序会根据我们输入的/wordcount/input地址找到需要统计的数据,根据我们的配置信息得到任务规划文件

2.将任务规划文件上传到hdfs指定的位置。

hadoop fs -ls /tmp/hadoop-yarn/staging/root/.staging/job_1554281786018_0002

image.png

3.客户端将任务提交到yarn中,ResourceManager根据规划文件中指定的切片规则通过mr appmaster在nodeManager上启动对应的MapperTask。

4.每个MapperTask根据指定的切片任务去加载数据,通过InputFormat的实现一行一行的读取数据,每读取一行会调用我们自定义的map方法处理这行的信息

5.map阶段输出的数据会被outputCollector采集。

6.outputCollector中的数据通过partitionner对数据做分区操作。将不同的数据分配到不同的分区中。

7.Reduce阶段根据配置会创建对应的ReduceTask来汇总数据(分组排序)。

8.将key相同的数据加载到自定义的reduce方法中,通过OutputFormat输出汇总结果。

本文仅仅对流程做大概分析,并为涉及到yarn工作调度的细节。后面会详细介绍~


相关文章
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
541 2
|
数据采集 分布式计算 Hadoop
使用Hadoop MapReduce进行大规模数据爬取
使用Hadoop MapReduce进行大规模数据爬取
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
300 2
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
476 0
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
294 0
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
393 0
|
分布式计算 Hadoop
Hadoop系列 mapreduce 原理分析
Hadoop系列 mapreduce 原理分析
321 1
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
428 3
|
数据采集 SQL 分布式计算
|
分布式计算 Hadoop Java
Hadoop MapReduce编程
该教程指导编写Hadoop MapReduce程序处理天气数据。任务包括计算每个城市ID的最高、最低气温、气温出现次数和平均气温。在读取数据时需忽略表头,且数据应为整数。教程中提供了环境变量设置、Java编译、jar包创建及MapReduce执行的步骤说明,但假设读者已具备基础操作技能。此外,还提到一个扩展练习,通过分区功能将具有相同尾数的数字分组到不同文件。
282 1

相关实验场景

更多