标签归档:SequeceFile

hadoop mapreduce和hive中使用SequeceFile+lzo格式数据

一.  hadoop中常见的压缩和解压数据格式

随着处理的数据量越来越大,在HDFS中存储压缩数据,不仅能节省集群的存储空间,而且可以减少磁盘io。对于跨集群数据传输来说,更能节约网络带宽。常见的用于hadoop的压缩文件格式有:

压缩格式 工具 算法 文件扩展名 多文件 可分割性
DEFLATE* DEFLATE .deflate
Gzip gzip DEFLATE .gz
ZIP zip DEFLATE .zip 是,在文件范围内
bzip2 bzip2 bzip2 .bz2
LZO lzop LZO .lzo

gzip和ZIP是比较通用的压缩方式,在空间和时间的处理上比较平衡。

bzip2的压缩比gzip或ZIP更有效,但是速度较慢,会使job的瓶颈转移到CPU上。

lzo的压缩和解压速度比gzip或ZIP更快,但是压缩效率偏低。

总的来说,压缩比:bzip2 gzip lzo,速度:lzo gzip bzip2

除了采用这几种压缩格式,SequeceFile也是一种比较好的选择。SequeceFile是Hadoop API提供的一种二进制文件支持。这种二进制文件直接将对序列化到文件中。一般对小文件可以使用这种文件合并,即将文件名作为key,文件内容作为value序列化到大文件中。这种文件格式有以下好处:… --> 阅读全文