是否可以在配置单元外部 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)
我想知道如何压缩外部配置单元 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)