028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何进行MapReduce中的JobSplit源码分析

这篇文章将为大家详细讲解有关如何进行MapReduce中的JobSplit源码分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联建站是一家专注于网站设计、成都网站制作与策划设计,沙河口网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:沙河口等地区。沙河口做网站价格咨询:028-86922220

MapReduce源码分析 - JobSplit

根据MapRudece的原理,我们从4个过程去分析MR的源码:

下面首先介绍Split阶段的源码。

如何进行MapReduce中的JobSplit源码分析

Split源码分析

① writeNewSplits源码分析

进入writeNewSplits()方法,可以看出该方法首先获取splits数组信息后,排序,将会优先处理大文件,最终返回mapper数量。这其中又分为两部分:确定切片数量 和 写入切片信息。 确定切片数量的任务交由FileInputFormat的getSplits(job)完成,写入切片信息的任务交由JobSplitWriter.createSplitFiles(jobSubmitDir, conf, jobSubmitDir.getFileSystem(conf), array)方法,该方法会将切片信息和SplitMetaInfo都写入HDFS中。return array.length,返回的是map任务数,默认map的数量是: default_num = total_size / block_size;

其内部逻辑主要分为以下几个步骤:

② getSplits源码分析

如何进行MapReduce中的JobSplit源码分析

如何进行MapReduce中的JobSplit源码分析

getSplits主要是将files进行切片,将文件路径path、偏移量(即起始位置,是该split在整个文件中的起始位置)、切分大小splitSize、偏移量所在block的locations信息Host和在内存中的host信息写入FileSplit对象中,一个split对应一个对象,最后放入splits中返回。

③ createFile源码分析

如何进行MapReduce中的JobSplit源码分析

createSplitFiles创建的文件包括两个,分别是记录切片的切片文件和记录切片元数据的切片元数据文件 。

补充内容:

getSplits方法中split切片的大小

如何进行MapReduce中的JobSplit源码分析

关于如何进行MapReduce中的JobSplit源码分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章名称:如何进行MapReduce中的JobSplit源码分析
URL地址:http://www.tsicrk.com/article/gjghgo.html

其他资讯

让你的专属顾问为你服务

0.9104s