HDFS的block和切片(split)的区别
1.split是MapReduce里的概念,是切片的概念,split是逻辑切片,而block是物理切块。
2.split的东西大小在默认的情况下和HDFS的block切块大小一致,为的是MapReduce处理的时候减少由于split和block之间大小不一致,可能会有多余的网络之间的传输。
(1)一个文件从本地被上传到HDFS时,会进行分块,块大小默认是64M,同时会产生副本数保存在其他datanode上,默认副本数是3个,课通过配置文件修改
(2)要进行分片时,先把块从分布式文件系统中取出,调用getSplits(),通过分片算法对块进行分片,片的单位大小就是块的大小,hadoop默认128M.
(3)一个split只能属于一个文件,但是一个文件会被切成很多片
(4)一个split可能包含多个block,但一个block不一定只属于一个split。