14-如何合-Partitioner&Combiner&Shuffle&OutputFormat解析

本文详细解析了Hadoop中的Partitioner、Combiner、Shuffle和OutputFormat。Partitioner通过哈希函数进行分区,保证相同key的数据在同一个reducer处理。Combiner作为Mini-Reducer,减少网络传输负担,提高效率。Shuffle和Sort阶段在Mapper和Reducer间进行,对数据进行合并和排序。OutputFormat定义了作业的输出规范,如TextOutputFormat、SequenceFileOutputFormat等。理解这些组件有助于优化MapReduce作业的性能。
摘要由CSDN通过智能技术生成

Hadoop Partitioner&Combiner&Shuffle&OutputFormat解析

1 概述

我们在本节的目标是关注数据的归并过程,包括Partitioner、Combiner、Shuffle&Sort以及OutputFormat等组件合过程。

对于Partioner,我们将讨论什么是Hadoop Partitioner。MapReduce中的Partitioner操作mapper输出的中间数据,对它们的key进行分区。通过哈希函数,使用key或者key的子集得到分区。总分区数取决于reduce task(任务)的数量。我们还将学习为什么需要Hadoop partitioner,默认Hadoop partitioner是什么,在Hadoop中,什么是分区不均,如何克服。

在这里插入图片描述

Hadoop Combiner也称为“Mini-Reducer”,它在将数据传递给Reducer之前,对Mapper输出记录中同一个key的数据进行合并处理。我们将介绍什么是Hadoop combiner,带有以及不带有combiner的MapReduce程序的区别,Hadoop combiner的优缺点。

在Hadoop中,将mapper输出的中间数据传输到reducer的过程叫做shuffle。Reducer的实质就是将一个或者多个key和value相关联。mapper生成的中间键值对自动按key排序。我们在本节将讨论Hadoop MapReduce有关shuffle和Sort(排序)的细节。

在这里,我们也将会讨论什么是Sort(排序),什么是shuffle,在MapReduce中Shuffle和sort阶段的目的,Shuffle是如何工作的,sort是如何工作的,我们还会了解MapReduce中的次排序。

在这里插入图片描述

Hadoop输出格式会检查作业的输出规范。它决定如何实现RecordWriter,向输出文件写入输出内容。在本节,我们将了解Hadoop输出格式,了解什么是RecordWriter,如何使用RecordWriter。我们也将讨论Hadoop的各种输出格式类型,比如:textOutputFormat、sequenceFileOutputFormat、mapFileOutputFormat、sequenceFileAsBinaryOutputFormat、DBOutputFormat、LazyOutputFormat以及 MultipleOutputs等。

在这里插入图片描述

2 Hadoop Partitioner

在我们开始介绍MapReduce partitioner之前,我们先理解什么是Hadoop mapper,Hadoop Reducer以及Hadoop combiner。

map输出的中间数据其key的分区是由Partitioner控制的。通过哈希函数,使用key或者key的子集得到分区。每个mapper的输出,将根据键值对进行分区,key相同的记录会分到同一个分区,然后每个分区发送到一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值