Python MapTask工作原理怎么理解,有几个阶段
Admin 2022-06-11 群英技术资讯 641 次浏览
今天的Python大数据培训课程我们讲一下MapTask工作原理,MapTask作为MapReduce工作流程的前半部分,它主要经历了5个阶段,分别是Read阶段、Map阶段、Collect阶段、Spill阶段和Combine阶段,如图4-7所示。
图4-7MapTask工作原理
关于MapTask这5个阶段的相关介绍如下:
(1)Read阶段:MapTask通过用户编写的RecordReader,从输入的InputSplit中解析出一个个key/value。
(2)Map阶段:将解析出的key/value交给用户编写的map()函数处理,并产生一系列新的key/value。
(3)Collect阶段:在用户编写的map()函数中,数据处理完成后,一般会调用outputCollector.collect()输出结果,在该函数内部,它会将生成的key/value分片(通过调用partitioner),并写入一个环形内存缓冲区中。
(4)Spill阶段:即“溢写”,当环形缓冲区满后,MapReduce会将数据写到本地磁盘上,生成一个临时文件。需要注意的是,将数据写入本地磁盘前,先要对数据进行一次本地排序,并在必要时对数据进行合并、压缩等操作。
(5)Combine阶段:当所有数据处理完成以后,MapTask会对所有临时文件进行一次合并,以确保最终只会生成一个数据文件。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在给计算机编程时,经常需要将数据告诉计算机,会将二进制数直接输入计算机, 但二进制数的特点是,只有0和1两种记数,位数比较长。如果用二进制数写程序,只要这个数比较大, 位数就会很长,很容易写错,同时二进制并不直观,写出来的数是否正确,需要转换才能知道。
这篇文章我们来了解一下Python numpy中setdiff1d函数的相关内容,下文介绍了setdiff1d函数的功能、语法、以及使用示例。有需要的朋友可以参考了解看看,接下来就跟随小编一起学习一下吧!
任何编程语言都需要处理数据,比如数字、字符串、字符等,我们可以直接使用数据,也可以将数据保存到变量中,方便以后使用。本文主要介绍了python定义变量类型,感兴趣的可以了解一下
这篇文章主要介绍了python中的断言(assert语句),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Python any() 函数,any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。 元素除了是 0、空、FALSE 外都算 TRUE。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008