4.hadoop中的压缩

来源:互联网 发布:teamview linux命令行 编辑:程序博客网 时间:2024/06/06 17:06
所有的压缩算法都会考虑时间和空间的权衡
列出一些可以用于Hadoop的常见压缩格式以及特性

Hadoop压缩api应用实例
获得具体的[编码/解码]方式
egg1:通过传入压缩的方式名反射
egg2:通过文件拓展名获得,通过[编码/解码]工厂CompressionCodecFactory
对于工厂方法而言,用于创建多种产品


Hadoop压缩框架
1.编码/解码器
CompressionCodec
接口实现了[编码/解码器],提供了一系列方法
CompressionCodecFactory:
使用者可以通过它提供的方法获得CompressionCodec:
其中成员变量codecs是一个键有序的map集合,存储着映射关系:[文件拓展名:CompressionCodec]


2.解压器和压缩器
Compressor
  • setInput()接受数据到内部缓冲区
  • needsInput()内部缓冲区是否已满
  • compress()获取压缩后的数据,释放缓冲区空间
  • finish()为了通知压缩器所有数据已写入
  • finished()判断压缩器中是否还有未读取的压缩数据
Decompressor
类似Compressor,略

3.压缩流和解压缩流
0 0