hive中Avro文件格式与bz2压缩的区别

问题描述 投票:0回答:1

我知道下面是蜂巢的输入和输出格式。

文本文件.序列文件.RC文件.AVRO文件.ORC文件.Parquet文件。

什么时候使用bz2压缩,它们与hive文件格式有什么不同? 什么时候使用?

hadoop hive hiveql
1个回答
1
投票

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是可以分割的。

© www.soinside.com 2019 - 2024. All rights reserved.