我知道下面是蜂巢的输入和输出格式。
文本文件.序列文件.RC文件.AVRO文件.ORC文件.Parquet文件。
什么时候使用bz2压缩,它们与hive文件格式有什么不同? 什么时候使用?
Avro是一种文件格式,bz2是一种压缩编解码器。这两个是完全不同的东西。
你可以选择 文件格式 和独立的压缩编解码器。有些文件格式使用内部压缩,对使用的编解码器有限制。例如,ORC支持ZLIB和SNAPPY编解码器。你可以在表的属性中配置编解码器,像这样。
...
STORED AS ORC TBLPROPERTIES ("orc.compress"="SNAPPY")
或者使用hive配置。
hive.exec.orc.default.compress=SNAPPY;
在这里阅读关于ORC的内容。ORC蜂巢配置
Avro 支持SNAPPY和DEFLATE编解码器。
SET hive.exec.compress.output=true;
SET avro.output.codec=snappy;
对于文本文件,你可以使用任何编解码器。
BZ2不是最快的编解码器 并可用于对性能要求不严格的情况。阅读关于压缩的内容 Cloudera网站.
这里需要理解的是,如果你使用的是可拆分的容器,那么不可拆分的压缩并不总是一个问题。例如,用snappy压缩的整个文件是不可分割的,但是使用SNAPPY内部的ORC是可以分割的,因为ORC是可以分割的。