如何查找 Parquet 文件生成时使用的 COMPRESSION_CODEC?

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

通常在 Impala 中,我们在将数据插入底层文件为 Parquet 格式的表之前使用 COMPRESSION_CODEC。

用于设置COMPRESSION_CODEC的命令:

set compression_codec=snappy;
set compression_codec=gzip;

是否可以通过对 Parquet 文件进行任何类型的操作来找出所使用的压缩编解码器类型?

hadoop parquet impala
3个回答
6
投票

找到 Impala parquet table 使用的压缩算法的一种方法是通过 parquet-tools。例如,该实用程序与 Cloudera CDH 打包在一起,否则只需从源代码构建即可。

$ parquet-tools meta <parquet-file>
creator:     impala version 2.13.0-SNAPSHOT (build 100d7da677f2c81efa6af2a5e3a2240199ae54d5)

file schema: schema
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
code:        OPTIONAL BINARY R:0 D:1
description: OPTIONAL BINARY R:0 D:1
value:       OPTIONAL INT32 O:INT_32 R:0 D:1

row group 1: RC:823 TS:20420
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
code:         BINARY GZIP DO:4 FPO:1727 SZ:2806/10130/3.61 VC:823 ENC:RLE,PLAIN_DICTIONARY
description:  BINARY GZIP DO:2884 FPO:12616 SZ:10815/32928/3.04 VC:823 ENC:RLE,PLAIN_DICTIONARY
value:        INT32 GZIP DO:17462 FPO:19614 SZ:3241/4130/1.27 VC:823 ENC:RLE,PLAIN_DICTIONARY

由于通常在 Parquet 中(不通过 Impala)可以逐列设置压缩,因此对于每个 Parquet 行组,您将看到针对每个列统计数据使用压缩。


0
投票

您可能还想直接在 hdfs 上运行它

hadoop jar parquet-tools-1.11.1.jar meta hdfs://a.parquet

0
投票

Pip安装的镶木地板工具相当不错。

使用方法:

  1. 使用
    pip install parquet-tools
  2. 安装
  3. 使用
    parquet-tools inspect s3://path/to/parquet
  4. 检查文件

https://pypi.org/project/parquet-tools/#description

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