如何找到Parquet文件生成时使用的压缩编码解码器?

mccptt67  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(329)

通常在impala中,我们在将数据插入表之前使用压缩编码解码器,表的底层文件是Parquet格式的。
用于设置压缩编码解码器的命令:

set compression_codec=snappy;
set compression_codec=gzip;

有没有可能找出对Parquet文件进行任何操作时使用的压缩编解码器的类型?

xu3bshqb

xu3bshqb1#

一种方法,你可以找到压缩算法所使用的 Impala Parquet表是通过Parquet工具。例如,这个实用程序是与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行组,您将看到压缩被用于每个列的统计数据。

相关问题