1.block是HDFS中切块的大小,是物理切块。
split是逻辑切片。
2.split的大小在默认的情况下和HDFS 的block切块大小一致,为了是Mapreduce处理的时候减少由于split和block之间大小不一致,可能会完成多余的网络之间的传输。
3.Block:当我们把文件上传到HDFS时,文件会被分块,这是真实的物理划分,每块的大小可与通过配置选项进行设置。
Split:是逻辑意义上的split,通常在MR程序或者其他数据处理技术上用到,其大小是允许用户定义的,
4.满足数据本地性的情况下,程序也会从远程节点上读取少量数据,因为存在被切割到不同的block上。因为存在某些行数据跨block,读取每个block的时候都会从下一i个block多读取一行的数据,也就是说操作会读取两个block的数据。
5.Block适合用于数据备份,进而提供数据容错能力和可用性。
通常一个split就是一个block,这样做的好处是使得Map可以在储存有当前数据的节点 上运行本地的任务,而不需要通过网络进行跨节点的任务调度。
6.若没有特别指定,splitsize就等于HDFS的blocksize。
11-02
1547
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-02
08-20
2540
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-26
887
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)