HDFS的block和切片(split)的区别
小于128m为1个split,大于128m小于256m就是2个split,分成128m一个split和剩下的一个split
文件分割后,会有一个 文件 --> block的映射,这个映射是持久化到硬盘中的,具体的映射关系表是在FSNamesystem.java中构建的(该部分的构建使用的是FSDirectory.java的功能,filename - blockset); 有了文件到块的映射表就可以通过文件找
1.split是MapReduce里的概念,是切片的概念,split是逻辑切片;而block是hdfs中切块的大小,block是物理切块。
2.split的大小在默认的情况下和HDFS的block切块大小一致,为了是MapReduce处理的时候减少由于split和block之间大小不一致,可能会完成多余的网络之间的传输。
3.Block;当我们把文件上传到HDFS时,文件会被分块,这个是真实物理上的划分。每块的大小可以通过hadoop-default.xml里配置选项进行设置。
4.Split:split是逻辑意义上的split。 通常在 M/R 程序或者其他数据处理技术上用到。根据你处理的数据量的情况,split size是允许用户自定义的。