我知道下面是配置单元中的输入和输出格式,文本文件。序列文件。rc文件。avro文件。orc文件。Parquet锉刀。我们什么时候使用bz2压缩,它们与配置单元文件格式有什么不同?什么时候用?
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是可拆分的。
1条答案
按热度按时间hjqgdpho1#
avro是一种文件格式,bz2是一种压缩编解码器。这两件事完全不同。
您可以独立选择文件格式和压缩编解码器。一些文件格式使用内部压缩,并且对可以使用的编解码器有限制。例如,orc支持zlib和snappy编解码器。您可以在表属性中配置编解码器,如下所示:
或使用配置单元配置:
阅读这里的兽人:兽人Hive配置
avro支持snappy和deflate编解码器。
使用textfile,您可以使用任何编解码器。
bz2不是最快的编解码器,可以在没有严格性能要求的情况下使用。在cloudera网站上阅读有关压缩的内容。
这里需要了解的是,如果您使用的是可拆分容器,那么不可拆分的压缩并不总是一个问题。例如,使用snapy压缩的整个文件是不可拆分的,但是内部使用snapy的orc是可拆分的,因为orc是可拆分的。