MapReduce之片和块的关系
时间:2022-07-22
本文章向大家介绍MapReduce之片和块的关系,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
片大小的计算
long splitSize = computeSplitSize(blockSize, minSize, maxSize);
protected long computeSplitSize(long blockSize, long minSize, long maxSize) {
return Math.max(minSize, Math.min(maxSize, blockSize));
}
blockSize
: 块大小
minSize
: minSize从mapreduce.input.fileinputformat.split.minsize
和1之间对比,取最大值
maxSize
: 读取mapreduce.input.fileinputformat.split.maxsize
,如果没有设置,则使用Long.MaxValue
作为默认值
默认的片大小就是文件的块大小 文件的块大小默认为128M,默认每片就是128M!
- 调节片大小 > 块大小:配置
mapreduce.input.fileinputformat.split.minsize
> 128M - 调节片大小 < 块大小:配置
mapreduce.input.fileinputformat.split.maxsize
< 128M
理论上来说:如果文件的数据量是一定的话,
- 片越大,切片数量少,启动的MapTask少,Map阶段运算慢!
- 片越小,切片数量多,启动的MapTask多,Map阶段运算快!
片和块的关系
片(InputSplit)
:
- 在计算MR程序时,才会切片。片在运行程序时,临时将文件从逻辑上划分为若干部分
- 使用的输入格式不同,切片的方式不同,切片的数量也不同
- 每片的数据最终也是以块的形式存储在HDFS
块(Block)
:
在向HDFS写文件时,文件中的内容以块为单位存储!块是实际的物理存在!
建议: 片大小最好等于块大小!
因为将片大小设置和块大小一致,可以最大限度减少因为切片带来的磁盘IO和网络IO
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 直播带货APP开发,圆形旋转动画
- 显存优化:纹理压缩功能介绍与使用说明
- Android编程简易实现XML解析的方法详解
- Android中SeekBar拖动条控件使用方法详解
- Android编程简单解析JSON格式数据的方法示例
- Android控件BottomSheet实现底边弹出选择列表
- Android中CheckBox复选框控件使用方法详解
- Android Recyclerview实现水平分页GridView效果示例
- Android编程之ListView和EditText发布帖子隐藏软键盘功能详解
- 建造者模式_动力节点Java学院整理
- Android ScrollView嵌套横向滑动控件时冲突问题
- Android用户输入自动提示控件AutoCompleteTextView使用方法
- Android自定义View实现水波纹效果
- Android如何获取系统通知的开启状态详解
- Handler实现线程之间的通信下载文件动态更新进度条