如何插入带有镶木地板格式和SNAPPY压缩的蜂巢表()

满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述如何插入带有镶木地板格式和SNAPPY压缩的蜂巢表?相关的知识,希望能为你提供帮助。
蜂巢2.1
我有以下表定义:

CREATE EXTERNAL TABLE table_snappy ( a STRING, b INT) PARTITIONED BY (c STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' LOCATION '/' TBLPROPERTIES ('parquet.compress'='SNAPPY');

现在,我想在其中插入数据:
INSERT INTO table_snappy PARTITION (c='something') VALUES ('xyz', 1);

但是,当我查看数据文件时,我看到的只是没有任何压缩的普通镶木地板文件。在这种情况下,如何启用snappy压缩?
目标:以实木复合地板格式生成蜂巢表数据并压缩SNAPPY。
我也试过设置多个属性:
SET parquet.compression=SNAPPY; SET hive.exec.compress.output=true; SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; SET mapred.output.compression.type=BLOCK; SET mapreduce.output.fileoutputformat.compress=true; SET mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec; SET PARQUET_COMPRESSION_CODEC=snappy;

以及
TBLPROPERTIES ('parquet.compression'='SNAPPY');

但没有任何帮助。我尝试使用GZIP压缩它,它似乎不能正常工作。我开始考虑是否可能。任何帮助表示赞赏。
答案【如何插入带有镶木地板格式和SNAPPY压缩的蜂巢表()】检查它是否被压缩的最佳方法之一是使用parquet-tools
create external table testparquet (id int, name string) stored as parquet location '/user/cloudera/testparquet/' tblproperties('parquet.compression'='SNAPPY'); insert into testparquet values(1,'Parquet');

现在,当你查看文件时,它可能没有任何地方的.snappy
[cloudera@quickstart ~]$ hdfs dfs -ls /user/cloudera/testparquet Found 1 items -rwxr-xr-x1 anonymous supergroup323 2018-03-02 01:07 /user/cloudera/testparquet/000000_0

让我们进一步检查......
[cloudera@quickstart ~]$ hdfs dfs -get /user/cloudera/testparquet/* [cloudera@quickstart ~]$ parquet-tools meta 000000_0 creator:parquet-mr version 1.5.0-cdh5.12.0 (build ${buildNumber}) file schema: hive_schema ------------------------------------------------------------------------------------------------------------------------------------------------------------- id:OPTIONAL INT32 R:0 D:1 name:OPTIONAL BINARY O:UTF8 R:0 D:1row group 1: RC:1 TS:99 ------------------------------------------------------------------------------------------------------------------------------------------------------------- id:INT32 SNAPPY DO:0 FPO:4 SZ:45/43/0.96 VC:1 ENC:PLAIN,RLE,BIT_PACKED name:BINARY SNAPPY DO:0 FPO:49 SZ:58/56/0.97 VC:1 ENC:PLAIN,RLE,BIT_PACKED [cloudera@quickstart ~]$

这是snappy压缩。

    推荐阅读