为什么在Hadoop(HDFS)中块设置的很大?

相对于普通磁盘的块(4kb)来说HDFS的块要更大一些256M甚至更大(默认64M),如此设计的目的是为了减少在寻道上的开销。 如果把HDFS块设置的足够大,那么从磁盘传输数据的时间将明显大于检索块头部信息的时间,因此HDFS中大文件传输的时间由多个块在磁盘上的传输速率来决定。

一种快速的计算方法为: 如果寻道时间在10毫秒左右,传输速率将是100MB/s,如果让寻道时间占1%的传输时间,我们需要设置块大小在100MB左右。HDFS默认是64MB,尽管许多HDFS平台默认使用128MB的块。随着新一代磁盘驱动器的发展,这个传输速度将不断打破,当然这个论点不会走得太远。

MapReduce中的Map任务在同一时间通常只在一个块上进行操作,所以如果实际中你的任务太少(少于集群中的节点数目),集群中的节点并没有得到充分利用上,该任务并没有获得应有的运行速度。

u2

Related Posts

选择正确的数据库引擎(sql-engine)来访问Hadoop大数据

使用Hadoop数据库”SQL-on-Hadoop”技术,可使得我们可以使用熟悉的SQL语言来访问存储在Hadoop中的大数据。通过合理的查询优化等交给hadoop分布式计算处理,最后通过各种报表或分析工具来处理和研究数据。

Read more

Hive 报 message:Metastore contains multiple versions 错误

[摘要] 早上看到从4点起所有 Hive 任务都跑失败了,手…

Read more

You Missed

本地AI时代来临:Ollama + MemPalace工作流深度指南

  • u2
  • 4月 21, 2026
  • 96 views

Raycast深度解析:这个让Mac效率重装升级的东西,到底值不值?

  • u2
  • 4月 14, 2026
  • 78 views

GitHub 25K+星标!Onyx:开源可自托管的企业级AI聊天与RAG平台

  • u2
  • 4月 8, 2026
  • 188 views

InternVL-U 统一多模态模型

  • u2
  • 4月 3, 2026
  • 171 views
InternVL-U 统一多模态模型

Everything Claude Code:开源 Agent 性能优化框架

  • u2
  • 3月 31, 2026
  • 196 views

MiroFish:群体智能预测引擎,让未来在数字沙盘中预演

  • u2
  • 3月 29, 2026
  • 294 views