Hive企业级调优(六)

压缩
hive的压缩本质上来讲就是hadoop的压缩
MR支持的压缩编码及其对应的解码器:
DEFLATE(不可切分): org.apache.hadoop.io.compress.DefaultCodec
gzip(不可切分): org.apache.hadoop.io.compress.GzipCodec
bzip2(可切分): org.apache.hadoop.io.compress.BZip2Codec
LZO(可切分): com.hadoop.compression.lzo.LzopCodec
Snappy(不可切分): org.apache.hadoop.io.compress.SnappyCodec
注:不可切分意味着不能并行执行!

根据文件存储的方式不同,支持的压缩格式也不相同:
TextFile 默认格式,加载速度最快,可以采用Gzip、bzip2等进行压缩,压缩后的文件无法split,即并行处理。

SequenceFile是Hadoop API 提供的一种二进制文件,它将数据以的形式序列化到文件中。这种二进制文件内部使用Hadoop 的标准的Writable 接口实现序列化和反序列化。它与Hadoop API中的MapFile 是互相兼容的。Hive 中的SequenceFile 继承自Hadoop API 的SequenceFile,不过它的key为空,使用value 存放实际的值, 这样是为了避免MR 在运行map 阶段的排序过程。

RCfile 存储方式:数据按行分块,每块按列存储。结合了行存储和列存储的优点:
RCFile 保证同一行的数据位于同一节点,因此元组重构的开销很低;像列存储一样,RCFile 能够利用列维度的数据压缩,并且能跳过不必要的列读取压缩率最高,查询速度最快,数据加载最慢。

总结:数据仓库的特点是少些多读,所以从整体上看RCFile的效率更高!!!

你可能感兴趣的:(大数据)