hadoop必记知识点(3)

本文介绍了Hadoop的Combiner功能,它在map任务后对数据进行局部汇总,减少数据传输量。此外,文章还涵盖了Hadoop的序列化机制、RPC通信原理以及其设计思想,如分布式处理、数据本地性、容错性和高性价比等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

  1. Hadoop的Combiner的作用

在这里插入图片描述

Hadoop的Combiner是一个在map任务执行完之后、在数据被发送到reduce任务之前执行的函数。其主要作用是减少Map和Reduce之间的数据传输量,提高Hadoop处理大数据的效率。
具体来说,Combiner会对map任务输出的key-value对进行局部汇总。例如,如果我们进行一个求平均值的mapreduce任务,map任务输出的可能是一个(key,[value1, value2, …])的形式,其中key是某个特征,value是该特征在所有输入文件中出现的次数。而Combiner会对这些value进行求和,得到一个(key,sum(value))的输出。这样,当这些数据被发送到reduce任务时,reduce任务就不需要再对这些value进行求和,而可以直接对这些value进行平均,大大减少了数据传输和处理的量。
需要注意的是,Combiner的输出和Reduce的输出类型应该是一样的,而且Combiner的函数应该是可合并的,即多个Combiner的输出可以被合并成一个单一的输出。这是因为Combiner是在map任务上并行执行的,而reduce任务可能需要合并多个map任务的输出。计算逻辑上,Combine操作后不会影响计算结果,像求和,最大值就不会影响,求平均值就影响了。
12. Hadoop序列化和反序列化
Hadoop 框架提供了一种默认的序列化方式,称为序列化。Hadoop 序列化是用于在分布式系统中存储和传输数据的一种方式,它可以有效地存储和传输大量数据。

Hadoop 的序列化机制包括两个步骤:序列化和反序列化。

序列化:序列化是将对象转换为字节序列的过程,以便在网络上传输或写入到磁盘进行永久存储的过程。Hadoop使用了一种称为Writable的接口来实现序列化。实现Writable接口的对象可以被Had

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值