是否可以在配置单元外部 table 中压缩 json?

Is it possible to compress json in hive external table?

我想知道如何压缩外部配置单元 table 中的 json 数据。如何做呢? 我创建了这样的外部 table:

 CREATE EXTERNAL TABLE tweets (
id BIGINT,created_at STRING,source STRING,favorited BOOLEAN
)ROW FORMAT SERDE "com.cloudera.hive.serde.JSONSerDe" LOCATION "/user/cloudera/tweets";

并且我设置了压缩属性

set mapred.output.compress=true;
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

输入文件:测试

{ "id": 596344698102419451, "created_at": "MonApr0101: 32: 06+00002013", "source": "blank", "favorited": false }

之后我将 json 文件加载到 hdfs 位置 "/user/cloudera/tweets".

但未压缩。

你能告诉我如何在外部配置单元中进行压缩吗table? 有人可以帮我压缩外部配置单元 table 吗?

提前致谢。

只需 gzip 文件并将它们按原样 (*.gz) 放入 table 位置

在 select 像 json 之前需要解压缩吗?您不能同时使用 serde(json 和 gzip)