hive中avro文件格式和bz2压缩的区别

xbp102n0  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(625)

我知道下面是配置单元中的输入和输出格式,
文本文件。序列文件。rc文件。avro文件。orc文件。Parquet锉刀。
我们什么时候使用bz2压缩,它们与配置单元文件格式有什么不同?什么时候用?

hjqgdpho

hjqgdpho1#

avro是一种文件格式,bz2是一种压缩编解码器。这两件事完全不同。
您可以独立选择文件格式和压缩编解码器。一些文件格式使用内部压缩,并且对可以使用的编解码器有限制。例如,orc支持zlib和snappy编解码器。您可以在表属性中配置编解码器,如下所示:

...
STORED AS ORC TBLPROPERTIES ("orc.compress"="SNAPPY")

或使用配置单元配置:

hive.exec.orc.default.compress=SNAPPY;

阅读这里的兽人:兽人Hive配置
avro支持snappy和deflate编解码器。

SET hive.exec.compress.output=true;
SET avro.output.codec=snappy;

使用textfile,您可以使用任何编解码器。
bz2不是最快的编解码器,可以在没有严格性能要求的情况下使用。在cloudera网站上阅读有关压缩的内容。
这里需要了解的是,如果您使用的是可拆分容器,那么不可拆分的压缩并不总是一个问题。例如,使用snapy压缩的整个文件是不可拆分的,但是内部使用snapy的orc是可拆分的,因为orc是可拆分的。

相关问题