169.Hadoop(五):MapReduce整体流程,shuffle机制,InputFormat数据输入,分区,排序,合并,OutputFormat数据输出

这篇博客深入探讨了Hadoop MapReduce的工作流程,包括InputFormat的数据输入机制,详细解释了切片、MapTask并行度的决定因素以及源码分析。接着,介绍了Shuffle阶段的分区、排序和合并过程,展示了如何自定义分区和排序。此外,还讨论了Combiner的作用和实现,以及OutputFormat的数据输出。内容详尽,适合Hadoop开发者学习。
摘要由CSDN通过智能技术生成

目录

一、InputFormat数据输入

1.InputFormat

 (1)切片与MapTask并行度决定机制

2.job提交流程源码分析

3.FileInputFormat切片源码分析(input.getSplits(job))

4.FileInputFormat切片机制

(1)机制

(2)源码中计算切片大小的公式

(3)获取切片信息的api

(4)FileInputFormat实现类

5.TextInputFormat

6.CombineTextInputFormat切片机制

(1)应用场景

(2)虚拟存储切片最大值设置

(3)对应代码

二、MapReduce整体切片流程

三、Shuffle机制

四、分区partition

1.使用场景

2.默认的分区方式:HashPartitioner

3.自定义分区步骤

4.分区总结

5.分区示例代码

(1)路径

(2)inputflow文件

(3)FlowBean

(4)FlowMapper

(5)ProvincePartitioner

(6)FlowMapper

(7)FlowDriver

(8)输出结果

 五、排序

1.排序概述

2.排序的场景

3.排序的分类

4.自定义排序WritableComparable

5.排序案例代码

(1)需求

(2)分析

(3)代码示例

 六、Combiner合并

1.基本概念

2.Combiner合并的两种方式

3.Combiner具体实现代码

七、OutputFormat数据输出

1.OutputFormat接口实现类

2.自定义OutputFormat实现代码


一、InputFormat数据输入

1.InputFormat

 (1)切片与MapTask并行度决定机制

一个job的Map阶段,一个大的文件会交给多个MapTask来并行处理,但是MapTask设置多少个才算合理呢?

  • 数据块:Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。
  • 数据切片:数据切片只是在逻辑上对输入的文件进行分片

数据切片是MapReduce程序计算输入数据的单元ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏哥哥啊Aaaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值