首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Map Reduce,reducer会自动排序吗?

Map Reduce,reducer会自动排序吗?
EN

Stack Overflow用户
提问于 2018-11-08 18:46:29
回答 1查看 298关注 0票数 0

关于MapReduce编程环境的整体功能视图,我有一些不太清楚的地方。

考虑从一个(或多个)映射器中输出形式为(word,1)的1k个随机未排序单词。假设使用reducer,我想将它们都保存在一个巨大的排序文件中。它是如何工作的?我的意思是,归约器本身会自动对所有单词进行排序?reducer函数应该做什么?如果我只有一个内存和磁盘有限的减速器怎么办?

EN

回答 1

Stack Overflow用户

发布于 2018-11-10 07:03:14

当reducer获得数据时,数据已经在映射端进行了排序。

过程是这样的

Map侧:

  1. 每个inputSplit都将由一个映射任务处理,映射输出的结果将临时放置在循环内存缓冲区 SHUFFLE 中。当缓冲区即将溢出(默认为缓冲区大小的80% )时,会在本地文件系统中创建一个溢出文件。
  2. 在写入磁盘之前,线程会先根据reduce任务的数量将数据分成相同数量的分区,即一个reduce任务对应一个分区的数据。以避免某些缩减任务被分配给大量数据,即使没有数据也是如此。实际上,每个分区中的数据都是排序的。如果此时设置了组合器,排序的结果将受到组合器operation.
  3. When的影响,本地任务输出最后一条记录,可能会有大量溢出文件,这些文件需要合并。在合并过程中,出于以下两个目的连续执行排序和组合操作: 1.最小化每次写入磁盘的数据量;2.在下一个复制阶段最小化网络传输的数据量。最后合并成一个经过分区和排序的文件。为了减少通过网络传输的数据量,您可以在此处压缩数据,只需将mapred.compress.map.out设置为true。
  4. 将数据从分区复制到相应的reduce任务。

减少侧:

1. 1.Reduce将从不同的map任务接收数据,并且从每个map发送的数据量是有序的。如果reduce端接受的数据量非常小,则将其直接存储在内存中。如果数据量超过缓冲区大小的特定比例,数据将被合并并写入磁盘。

  • 随着溢出文件数量的增加,后台线程会将它们合并到一个更大、更有序的文件中。事实上,无论是Map端还是Reduce端,MapReduce反复执行排序合并operations.

  • The合并过程会生成很多中间文件(写入磁盘),但MapReduce会将写入磁盘的数据尽量小,最后一次合并的结果不是写入磁盘,而是直接输入reduce函数。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53214246

复制
相关文章
安卓系统如何在WIFI里设置s5静态Ip
在 Android 设备上使用 Wi-Fi Settings 设置s5的详细教程:
华科云商小徐
2023/10/18
3050
【谷歌】停止与华为合作,限制华为使用安卓系统
据报道,在特朗普政府公布“黑名单”后,谷歌(Google)已暂停与华为的部分合作。
老九君
2019/05/22
2.8K0
安卓自启动设置
最近搞一个项目,是安卓的客户端;要求安卓启动后自动启动。本来想通过外挂进行系统启动时自动启动,但发现大多不能用。于是只能在代码级进行处理。处理如下:
谭广健
2019/07/06
1.6K0
安卓自启动设置
「技巧」安卓设置 Equalizer
工作与音乐相关的,所以避免不了工作中要涉及到 Equalizer 。中文叫均衡器,缩写就是 EQ,和情商的缩写一样。我先抛砖引玉,说直白点就是把声音优化来更好听。我直接搬移一段维基百科的说明,这个才是专业的解释。
叉叉敌
2019/07/02
1.3K0
安卓系统框架介绍(安卓常用框架)
——源码地址1: https://android.googlesource.com/
全栈程序员站长
2022/07/30
8.7K0
安卓系统框架介绍(安卓常用框架)
appinventor安卓壁纸设置(上)
初步功能需求 打开安卓app,然后会看到一张内置好的图片,点击下方的设置壁纸,实现让这个图片成为壁纸的功能,实现方法调用安卓系统内置的壁纸设置工具。
泽泽社长
2023/04/17
8940
appinventor安卓壁纸设置(上)
WebRTC 如何在安卓系统上采集视频数据
WebRTC 作为一个开源的实时音视频通讯方案,经过多年的发展基本上已经支持了所有的常用终端,比如 windows、mac、Android、iOS等。我们都知道音视频通讯的前提是采集本地的音频和视频数据信息。今天,我们就来先了解一下 WebRTC 在安卓端是如何采集视频信号的。
liuzhen007
2022/02/23
2.7K0
WebRTC 如何在安卓系统上采集视频数据
安卓系统usb调试在哪_安卓手机的usb调试
Android手机USB调试在哪?安卓手机如何打开USB调试模式?如果我们要将安卓手机连接到电脑上,从而传输文件、下载应用或ROOT等,都需要打开手机的USB调试模式。安卓系统的版本有很多,它们的打开方法也各不相同,下面给大家介绍各版本安卓手机打开USB调试模式的方法。
全栈程序员站长
2022/09/30
3.9K0
Android--SVG在安卓系统中的应用
通过使用它的Path标签,几乎可以实现SVG中的其它所有标签,虽然可能会复杂一点,但这些东西都是可以通过工具来完成的,所以,不用担心写起来会很复杂。
aruba
2020/07/03
2.8K0
安卓开发-设置RadioButton的点击效果
在安卓开发中用到底部菜单栏 需要用到RadioButton这个组件  实际应用的过程中,需要对按钮进行点击,为了让用户知道是否点击可这个按钮,可以设置点击后 ,该按钮的颜色或者背景发生变化。 layout中这部分的代码为: 1 <RadioButton 2 android:id="@+id/radio_button0" 3 android:layout_height="fill_parent" 4 an
听着music睡
2018/05/18
1.5K0
安卓中的数据存取
在我们每天使用的手机设备中,无时无刻都在进行着数据的存和取。安卓作为一种手机操作系统,提供了如下方式的数据存取方式:Preference,File,Sqlite和网络,可以根据程序的实际需求选择合适的存取方式。
牛老师讲GIS
2018/10/23
1.3K0
安卓中的数据存取
鸿蒙系统与安卓系统的区别
华为鸿蒙已经发布快一年了,但是经常还有小伙伴说,鸿蒙不就是安卓系统套个壳么?类似小米的米UI和华为自有的EMUI。 我们不可否认鸿蒙2.0系统跟安卓的界面确实很相似,但就因此判定鸿蒙系统是安卓换皮了吗? 都知道鸿蒙系统跟安卓一样,采用的是AOSP 开源代码,而安卓自身超过80%的代码都来自于开源项目,谁也不能说谁在换皮吧? 长期以来,谷歌Android和苹果iOS系统占据了全球移动端操作系统的绝大多数市场份额,除了苹果的IOS以外,其他手机基本使用的就是安卓系统,当然,鸿蒙推出以后就三分天下啦。 对于很多
老九君
2022/04/29
5.5K0
鸿蒙系统与安卓系统的区别
安卓设置均衡器 Equalizer
工作与音乐相关的,所以避免不了工作中要涉及到 Equalizer 。中文叫均衡器,缩写就是 EQ,和情商的缩写一样。我先抛砖引玉,说直白点就是把声音优化来更好听。我直接搬移一段维基百科的说明,这个才是专业的解释。
叉叉敌
2019/07/03
2.1K0
安卓 topic-UI-设置 settings
应用通常包括允许用户修改应用特性和行为的设置。例如,有些应用允许用户指定是否启用通知,或指定应用与云端同步数据的频率。
acc8226
2022/05/17
3.1K0
安卓 topic-UI-设置 settings
安卓再现系统广播高危漏洞,影响99.9%安卓手机
近日,有博客披露安卓系统存在安卓系统广播漏洞,99.9%的安卓手机将面临安全威胁。恶意程序利用该漏洞,可伪造任意内容的手机短信,及致手机死机,甚至可将手机恢复出厂设置(所有数据将被擦除)。该漏洞目前影响5.0版本以下99.9%的安卓系统手机。 安全专家研究发现,谷歌在刚刚发布的安卓系统5.0(Lolipop)中悄悄修复了一项高危漏洞,“利用该漏洞,可以发送任意广播:不仅可以发送系统保护级别的广播、还可以无视receiver的android:exported=false、android:permisson
安恒信息
2018/04/10
3.3K0
安卓再现系统广播高危漏洞,影响99.9%安卓手机
【安卓笔记】高速的发展设置界面—–PreferenceActivity
通常做法是自定义布局,然后在代码里面加入响应函数,并将结果保存到Sharedpreferences中。
全栈程序员站长
2022/07/11
4700
【安卓笔记】高速的发展设置界面—–PreferenceActivity
安卓模拟器怎么设置代理
app开发测试的同学为了调试方便,通常会在电脑上装一些android模拟器,开多台进行测试。调试中通常要干的一件事就是抓取,那么想要抓包,我们必须要设置代理。
周小董
2019/03/25
12.6K2
安卓模拟器怎么设置代理
浅谈安卓中的MVP模式
端午放假,天气下雨,于是乎在家撸一下博客,本篇博客将为大家解析MVP模式在安卓中的应用。
老马的编程之旅
2022/06/22
9860
浅谈安卓中的MVP模式
安卓仓库管理系统源码
大等于jdk1.8,大于mysql5.5,idea(eclipse),Android Studio
淘毕设
2022/07/17
2.3K0
浅谈安卓系统上的DSU loader
什么是DSU loader? dsu loader即 动态系统更新可以在使用动态分区的安卓设备上,不影响原来系统的同时安装一个副系统,用于体验最新的原生安卓系统(AOSP)(博主评:相比传统刷机模式,
Tianli
2023/03/03
12.9K0

相似问题

如何在EditText安卓系统中设置默认游标?

22

安卓系统中的EditText?

21

安卓系统中的EditText

32

限制EditText在安卓系统中只接受Urls

20

如何在安卓系统中使用InputFilter限制EditText中的字符?

19241
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文