FileInputFormat——悟空智慧教育

时间:2024-02-16 21:08:03

默认的切片大小是block的大小,即128M

切片大小可自行设置,Math.max(minSize, Math.min(maxSize, blockSize));

blockHDFS上物理上存储的存储的数据,切片是对数据逻辑上的划分。

如果设置的最大值比blocksize值小,则按照maxSize切数据

如果设置的最小值比blocksize值大,则按照minSize切数据

 

第一种情况(切片大小为256M):

 

FileInputFormat.setInputPaths(job, new Path(input));

 

FileInputFormat. setMaxInputSplitSize(job,1024*1024*500) ; //设置最大分片大小

 

FileInputFormat.setMinInputSplitSize(job,1024*1024*256); //设置最小分片大小

 

第二种情况(切片大小为100M)

 

FileInputFormat.setInputPaths(job, new Path(input));

 

FileInputFormat.setMaxInputSplitSize(job,1024*1024*100) ; //设置最大分片大小

 

FileInputFormat.setMinInputSplitSize(job,1024*1024*80); //设置最小分片大小

 

 

 

整个切片的核心过程在getSplit()方法中完成。

 

数据切片只是在逻辑上对输入数据进行分片,并不会再磁盘上将其切分成分片进行存储。InputSplit只记录了分片的元数据信息,比如起始位置、长度以及所在的节点列表等。

 

 以上文章内容来源于《悟空智慧教育》:www.wukongone.com,《悟空智慧教育》是一家专业的大数据视频教学网,专属定制您的未来