Hadoop, 大数据

hadoop-19 数据压缩

压缩的好处和坏处

  • 优点:
    • 减少磁盘IO
    • 减少磁盘存储空间
  • 压缩原则
    • 运算密集型的job,少用压缩
    • IO密集型的job,多用压缩

MR支持的压缩编码

压缩性能比较

压缩方式的选择

  • 压缩和解压缩速度
  • 压缩率(压缩后存储大小)
  • 压缩后是否可以支持切片

压缩参数设置

输入端

输出端

Driver中设置Map端压缩

// 开启map端输出压缩
conf.setBoolean("mapreduce.map.output.compress", true);
// 设置map端输出压缩方式
conf.setClass("mapreduce.map.output.compress", BZip2Codec.class, CompressionCodec.class);

Driver中设置Reduce端压缩

// 设置reduce端输出压缩开启
FileOutputFormat.setCompressOutput(job, true);
// 设置压缩的方式
FileOutputFormat.setOutputCompressorClass(job, BZip2Codec.class);