科学健康资讯 · 内容仅供参考,不替代专业诊疗 联系我们|疾病百科
操作系统

fileinputformat

2023-05-02 操作系统 本文链接

HDFS存储系统中,为了存储引出块的概念,块是存储的最小单位,HDFS上的文件都是以块为单位存储的。块的大小一般为64MB或128MB,块的大小有可能会变得更大。

Hadoop在提交作业时,要提交的作业需要进行分片,以达到分而治之的目的,分片操作是根据源文件的情况按照规则划分一系列的InputSplit,每个分片一般有一个Mapper进行处理,所谓的分片只是逻辑上的分片并不需要进行物理上的划分。具体的分片细节由InputSplitFormat 指定,可以调用方法 long splitSize=computeSplitSize(goalSize,minSize,blockSize);以获取分片大小。computeSplitSize 方法返回的大小是 Math.max(minSize,Math.min(goalSize,blockSize));。

其中 goalSize 为输入文件的大小/“配置中定义的 mapred.map.tasks”值,minSize 为mapred.min.split.size,blockSize为128MB,所以,这个算式为取分片大小不大于block,并且不小于在mapred.min.split.size配置中定义的最小Size。当某个分块分成均等的若干分片时,会有最后一个分片大小小于定义的分片大小,则该分片独立成为一个分片。

本文内容仅供健康科普参考,不能替代专业医疗诊断和治疗建议。如有身体不适,请及时就医并遵从医师指导。

相关阅读