HDFS的block和切片(split)的区别

 

 #hadoop1.x是默认每个块大小64GB,而hadoop2.x默认每个块大小128GB。系统默认3个快。

定义(1);block;

   HDFS存储数据在DataNode节点,block就是DataNode里存储数据的一个一个单位。当我们把文件上传到HDFS时,文件会被分块,这个是真实物理上的定义。因为,读磁盘需要时间,随机读会造成查找目录的时间比真正读出磁盘内容的时间占比过大。读取当前数据时候,很大可能会读取前后附近的数据。所以直接读出一大片数据,一整块数据读到内存里只要查找目录一次,还高效。而且大文件数据可能一个地方放不下,需要被拆开放多个电脑存储。所以block的的出现是很有现实意义的。

定义(2);split;

   Split是逻辑意义上的定义。split是把block切分而成的虚拟上的的定义,是MapReduce里的概念。输入分片(Input Split):在进行map计算之前,mapreduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个map任务,输入分片(input split)存储的并非数据本身,而是一个分片长度和一个记录数据的位置的数组。通常一个split就是一个block这样做的好处是使得Map可以在存储有当前数据的节点上运行本地的任务,而不需要通过网络进行跨节点的任务调度。

总结

1. split是MapReduce里的切片的概念,split是虚拟切片 ;而block是hdfs中切块的大小,block是物理切块;
2. split大小在默认下和block切块大小一致,是为了MapReduce处理的时候减少由于split和block之间大小不一致,可能会延迟网络之间的传输。

                                           

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

究极无敌暴龙兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值