查找用于 hadoop 文件的压缩编解码器

Find compression codec used for an hadoop file

给定一个在 hadoop 平台上以下列格式之一编写的压缩文件:

如何找到使用的压缩编解码器?假设使用以下压缩编解码器之一(并且文件名中没有文件扩展名):

Parquet 的 Java 实现包括 parquet-tools 实用程序,提供了多个命令。查看其 documentation page for building and getting started. The more detailed descriptions of the individual commands are printed by parquet-tools itself. The command you are looking for is meta. This will show all kinds of metadata, including compressions. You can find an example output here,显示 SNAPPY 压缩。

请注意,压缩算法不必在整个文件中都相同。不同的列块可以使用不同的压缩,因此压缩编解码器没有单个字段,而是每个列块一个。 (列块是属于一个行组的列的一部分。)然而,在实践中,您可能会发现所有列块都使用相同的压缩编解码器。

Avro 有一个类似的实用程序,称为 avro-tool。我不太熟悉它,但它 has 一个 getmeta 命令应该会告诉你使用的压缩编解码器。