mapreduce的中间自定义阶段小述

本文介绍了MapReduce的两种运行模式:集群和本地模式,强调了数据位置和提交步骤。接着,讨论了MapReduce的分区原理,指出分区能确保相同数据在同一Reduce中处理。计数器作为收集作业统计信息的重要工具,用于监控和故障诊断。文章还涉及排序和序列化,解释了Hadoop自定义序列化的优势。最后,讲解了Combiner的作用,作为map端的局部汇总,有效减少了网络IO,提高了性能。
摘要由CSDN通过智能技术生成

MapReduce运行模式

集群运行模式

1.将mapReduce程序提交给yarn集群,分发到很多节点上并发执行

2.处理的数据和输出结果应该位于HDFS文件系统

3.提交集群的实现步骤:将程序打成jar包,并上传,然后在集群上用hadoop命令启动

本地运行模式

1.MapReduce程序是在本地以单进程的形式运行

2.处理的数据及输出结果在本地文件系统

即在TextputFormat的时候,可以指定是hdfs路径还是Hdfs路径压缩上传

MapReduce分区

分区概述

在mapreduce中,通过我们指定分区,会将同一个分区的数据发送到同一个Reduce当中进行处理

MapReduce中的计数器

计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计。计数器还可以辅助诊断系统故障。如果需要将日志信息输出到map或reduce任务,更好的方法通常是看能否用一个计数器值来记录某一特定时间的发生。对于大型分布式作业而言,使用计数器更为方便。除了因为获取计数器值比输出日志更方便,还有根据计数器值统计特定事件发生次数要比分析一堆日志文件容易得多。

MapReduce排序和序列化

序列化是指把结构化对象转为字节流

反序列化时序列化的逆过程,把字节流转为结构化对象,当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化

java的序列化是一个重量级序列化框架,一个对象被序列化后,会附带很多信息,就显得臃肿,而hadoop自己开发了自己的一套序列化机制,需要什么属性就传什么,大大减少了网络传输的开销

writable时hadoop的序列格式化,hadoop定义了这样一

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值