大数据之Hadoop(MapReduce):FileInputFormat,CombineTextInputFormat切片机制
Posted 浊酒南街
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之Hadoop(MapReduce):FileInputFormat,CombineTextInputFormat切片机制相关的知识,希望对你有一定的参考价值。
目录
1.FileInputFormat切片机制
1.1:切片机制
1.简单地按照文件的内容长度进行切片;
2.切片大小,默认等于block大小;
3.切片时不考虑数据集整体,而是逐个针对每一个文件单独切片;
1.2:案例分析
1.输入数据,两个文件:
file1.txt 320M; file2.txt 10M;
2.经过FileInputFormat的切片机制运算后,形成的切片信息如下:
file1.txt.split1 – 0-128
file1.txt.split2 – 128-256
file1.txt.split3 – 256-320
file1.txt.split1 – 0-10
1.3:FileInputFormat切片大小的参数配置
切片大小的公式:
Math.max(minsize,Max.min(maxSize,blockSize));
默认情况下,切片大小等于blockSize;
2.CombineTextInputFormat切片机制
2.1:FileInputFormat切片机制的缺陷:
按文件来划分,不管文件多小,都会是一个单独的切片,都会交给一个MapTask,这样如果有大量小文件,就会产生大量的MapTask,处理效率极其低下;
此时轮到CombineTextInputFormat登场;CombineTextInputFormat用于小文件过多的场景,它可以将多个小文件从逻辑上规划到一个切片中,这样,多个小文件就可以交给一个MapTask处理;
2.2:CombineTextInputFormat切片机制
生成切片过程包括:虚拟存储过程和切片过程二部分
2.3:案例分析
以上是关于大数据之Hadoop(MapReduce):FileInputFormat,CombineTextInputFormat切片机制的主要内容,如果未能解决你的问题,请参考以下文章
大数据之Hadoop(MapReduce): MapReduce概述
大数据之Hadoop(MapReduce):MapReduce核心思想