Zlib、LZO,SNPAYY是压缩算法,ORC、PARQUET是存储的格式,存储格式可以针对不同的数据,选取任意的压缩算法

默认将ORC表压缩的算法是:orc默认采用的是ZLIB压缩
在Hive中,你可以通过以下步骤查看ORC表的压缩算法:
-
首先,你需要打开Hive命令行界面。你可以通过在命令行中输入
hive并按Enter键来实现。 -
然后,你需要使用
DESCRIBE FORMATTED命令来查看表的详细信息。例如,如果你想查看名为my_table的表的详缩算法,你可以输入以下命令:DESCRIBE FORMATTED my_table;然后按Enter键。
-
在输出的信息中,你可以找到
Storage Desc Params:部分,其中的orc.compress项就是该表的压缩算法。
请注意,如果orc.compress项的值是NONE,那么表示该表没有使用压缩。如果该项不存在,那么表示该表使用的是默认的压缩算法,即Zlib。
压缩算法的是否可切割性
在处理大数据时,压缩算法的选择对文件的可切割性有重要影响。以下是一些常见的压缩算法及其对文件切割性的影响:
-
Gzip:不可切割。Gzip是一种广泛使用的压缩算法,但它不支持文件的切割。这是因为Gzip使用了一种叫做DEFLATE的压缩算法,这种算法在压缩数据时会考虑到数据的全局信息,因此无法对压缩后的文件进行切割。
-
Bzip2:不可切割。Bzip2是另一种常见的压缩算法,它使用了一种叫做Burrows-Wheeler transform的压缩技术,这种技术同样需要考虑到数据的全局信息,因此Bzip2压缩的文件也无法被切割。
-
LZO:可切割。LZO是一种实时压缩算法,它的压缩速度非常快,而且支持文件的切割。
-
Snappy:可切割。Snappy是Google开发的一种压缩算法,它的设计目标是提供较好的压缩比和非常快的压缩速度,而且它支持文件的切割。
-
LZ4:可切割。LZ4是一种非常快速的压缩算法,它支持文件的切割。
-
Zlib:可切割。Zlib是一种广泛使用的压缩库,它提供了对DEFLATE压缩算法的实现。尽管DEFLATE算法本身不支持文件的切割,但在某些特定的文件格式下,例如ORC,Zlib压缩的文件可以被切割。
以上信息主要参考了DZone的文章"Crunch Time: 10 Best Compression Algorithms"1,以及其他相关的技术文档。
不同的存储格式的文件是否可以被切割
文件是否可以被切割,主要取决于文件的存储格式。以下是一些常见的存储格式及其是否可以被切割的情况:
-
文本文件(Text):可以被切割。文本文件是最基础的文件格式,每一行数据都是独立的,因此可以在任何位置进行切割。
-
序列文件(SequenceFile):可以被切割。序列文件是Hadoop用来存储二进制形式的键值对的文件格式,它支持文件的切割。
-
Avro:可以被切割。Avro是一种数据序列化系统,它的设计使得数据文件可以在任何位置被切割。
-
Parquet:可以被切割。Parquet是一种列式存储格式,它将数据按列进行存储和压缩,每一列的数据都是独立的,因此可以独立进行读取和写入。
-
ORC:可以被切割。ORC也是一种列式存储格式,它的设计同样支持文件的切割。
-
RCFile:可以被切割。RCFile是一种行列混合存储的文件格式,它的设计也支持文件的切割。
需要注意的是,虽然这些文件格式本身支持文件的切割,但如果在存储时使用了某些不可切割的压缩算法,那么生成的文件可能就不能被切割了。
例如,Gzip压缩的文件就不能被切割。
https://dzone.com/articles/crunch-time-10-best-compression-algorithms ↩︎


被折叠的 条评论
为什么被折叠?



