一、压缩的好处和坏处
压缩的优点:以减少磁盘IO、减少磁盘存储空间。
压缩的缺点:增加CPU开销。
二、压缩原则
(1)运算密集型的Job,少用压缩
(2)IO密集型的Job,多用压缩
三、压缩算法对比介绍
压缩格式 hadoop自带 算法 文件扩展名 是否可切片 换成压缩格式后,原来的程序是否需要修改
DEFLATE 是,直接使用 DEFLATE .deflate 否 和文本处理一样,不需要修改
Gzip 是,直接使用 DEFLATE .gz 否 和文本处理一样,不需要修改
bzip2 是,直接使用 bzip2 .bz2 是 和文本处理一样,不需要修改
LZO 否,需要安装 LZO .lzo 是 需要建索引,还需要指定输入格式
Snappy 是,直接使用 Snappy .snappy 否 和文本处理一样,不需要修改
四、打开我们之前的项目(是下面这个哦)
在下面位置添加下下面代码
//开启reduce端压缩
FileOutputFormat.setCompressOutput(job,true);
FileOutputFormat.setOutputCompressorClass(job, GzipCodec.class);
AI写代码
然后在第七点上面添加
//设置reduceTask的数量
job.setNumReduceTasks(3);//产生结果的时候,会用3个文件来保存
// 设置自定义分区器
job.setPartitionerClass(CustomPartitioner.class);
//设置reduce的个数
job.setNumReduceTasks(3);
AI写代码
注意:第六点要注释哦
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/2402_87076376/article/details/147305395