当前位置: 首页 > news >正文

HDFS文件块大小

        HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在Hadooop2X版本中是128M,老版本中是64M。

思考:为什么块的大小不能设置太小,也不能设置太大?

  1. HDFS的块设置太小会增加寻址时间,程序一直在找块的位置;
  2. 如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需要的时间。导 致程序在处理这块数据时,会非常慢。

总结:HDFS块的大小主要取决于磁盘传输速率。

hdfs中block为什么设置为128MB:

        hdfs中的平均寻址时间为10ms,而传输速率普遍为100MB/s而在大量测试中得出寻址时间为传输时间的1%时,为最佳状态

        通过计算最佳传输时间=10ms/0.01=1s,进一步计算出Block块大小=1s*100MB=100MB,而我们磁盘block块的大小都是2^n倍,所以设置hdfs中的blcok大小为128MB,但是很多情况下HDFS安装时使用更大的块。以后随着新一代磁盘驱动器传输速率的提升,块的大小会被设置得更大。

但是这个参数也不会设置得过大。MapReduce中的map任务通常一次只处理一个块中的数据,因此如果任务数太少(少于集群中的节点数量),作业的运行速度就会比较慢。

如果block设置过大:在MapReduce中的map任务通常一次只处理一个块中的数据,因此设置的过大就会使作业的运行速度较慢

hdfs中小于blcok块大小的文件如何存储:当所存储的文件小于block块的大小时,它并不会占用整个block块的大小,只会占用它的实际存储大小

http://www.lryc.cn/news/25594.html

相关文章:

  • C++——优先级队列(priority_queue)的使用及实现
  • Linux学习记录——십일 环境变量
  • 【人工智能 Open AI 】我们程序员真的要下岗了- 全能写Go / C / Java / C++ / Python / JS 人工智能机器人
  • STM32 EXTI外部中断
  • Mapper代理开发——书接MaBatis的简单使用
  • 实体对象说明
  • JAVA中加密与解密
  • 改进YOLO系列 | ICLR2022 | OMNI-DIMENSIONAL DYNAMIC CONVOLUTION: 全维动态卷积
  • 信息收集之Github搜索语法
  • 【案例教程】拉格朗日粒子扩散模式FLEXPART
  • 试题 算法训练 自行车停放
  • 泛型与Map接口
  • Unity Bug记录本
  • B. The Number of Products)厉害
  • 一起Talk Android吧(第五百一十二回:自定义Dialog)
  • GinVueAdmin源码分析3-整合MySQL
  • 大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——MapReduce开发总结
  • requests---(4)发送post请求完成登录
  • Python抓取数据具体流程
  • 【Python学习笔记】第二十四节 Python 正则表达式
  • 数字逻辑基础:原码、反码、补码
  • 有限差分法-差商公式及其Matlab实现
  • 高校就业信息管理系统
  • 【Java|golang】2373. 矩阵中的局部最大值
  • 根据指定函数对DataFrame中各元素进行计算
  • 【蓝桥杯集训·每日一题】AcWing 3502. 不同路径数
  • Java - 数据结构,二叉树
  • 模拟QQ登录-课后程序(JAVA基础案例教程-黑马程序员编著-第十一章-课后作业)
  • 【壹】嵌入式系统硬件基础
  • 当参数调优无法解决kafka消息积压时可以这么做