大数据之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:案例分析

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值