有人能解释一下这个计算并给出一个清晰的解释吗?
快速计算表明,如果搜索时间约为10 ms,传输速率为100 MB/s,则要使搜索时间占传输时间的1%,就需要使块大小保持在100 MB左右。缺省值实际上是64 MB,尽管许多HDFS安装使用128 MB块。随着新一代磁盘驱动器传输速度的增长,这一数字将继续向上修正。
发布于 2014-03-12 13:49:23
一个块将作为一个连续的信息块存储在磁盘上,这意味着完全读取它的总时间是定位它的时间(搜索时间)+读取其内容的时间,而无需再执行任何查找,即sizeOfTheBlock / transferRate = transferTime
。
如果我们保持seekTime / transferTime
的比率很小(在文本中接近.01 ),这意味着我们从磁盘读取数据的速度几乎与磁盘施加的物理限制一样快,并且花费的查找信息的时间最少。
这一点很重要,因为在映射减少作业中,我们通常遍历(读取)整个数据集(由HDFS文件或文件夹或文件夹集表示)并对其执行逻辑,因此,由于我们无论如何都必须花费完整的transferTime
才能将所有数据从磁盘中取出,让我们尽量减少大块进行查找和读取所花费的时间,因此数据块的大小很大。
在更传统的磁盘访问软件中,我们通常不会每次读取整个数据集,所以我们宁愿花更多的时间在较小的块上进行大量的搜索,而不是浪费太多的时间传输我们不需要的数据。
发布于 2015-12-15 23:30:11
由于100 mb被划分为10个块,所以必须执行10次查找,每个文件的传输速率为( 10 /100)mb/s。(10 10*10)+(10/100 10/s)*10= 1.1秒。至少大于1.01。
发布于 2015-11-25 06:09:26
由于100 is 被划分为10个块,所以每个块只有 10 is ,因为它是HDFS。那么应该是10*10ms + 10mb/(100Mb/s)
= 0.1s+ 0.1s
= 0.2s
,甚至更短的时间。
https://stackoverflow.com/questions/22353122
复制相似问题