HDFS的block和切片split的区别
split是MacRaduce里的概念,是切片的的概念,split是逻辑切片,而block是hdfs中切片块的大小,block是物理切块。文件不可分割,一个文件一个split。文件可分割才会考虑hdfs的block的大小有关。
- Block的概念是切块的大小,并且是物理切块。Block是hdfs中的概念。block是物理块,文件存放到HDFS上后,会将大文件按照每块128MB的大小切分,存放到不同的DataNode上。
Split的概念是切片,并且是逻辑切块。Split是MapReduce中的概念。split是逻辑上的分片,在MapReduce中Map开始之前,会将输入文件按照指定大小切分为多个小片,每一部分对应一个Map Task,默认split的大小与block的大小相同,为128MB。 - Split:split是逻辑意义上的切片。 通常在 M/R 程序或者其他数据处理技术上用到。根据你处理的数据量的情况,split size是允许用户自定义的。
Block;当我们把文件上传到HDFS时,文件会被分成大小可以通过hadoop-default.xml里配置选项进行设置的块,这个是真实物理上的划分。 - split和block大小默认一致,为了减少由于split和block之间大小不一致,导致的多余的网络之间的传输。