我想知道如何在hive外部表中压缩json数据。怎么做到呢? 我创建了这样的外部表:
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;
输入文件:test
{ "id": 596344698102419451, "created_at": "MonApr0101: 32: 06+00002013", "source": "blank", "favorited": false }
之后我将我的json文件加载到hdfs location "/user/cloudera/tweets".
但它没有被压缩。
请告诉我如何在hive外部表中进行压缩? 有人可以帮我压缩蜂巢外部表吗?
提前致谢。
答案 0 :(得分:1)
只需将您的文件gzip并按原样(* .gz)放入表格位置
答案 1 :(得分:0)
你需要解压缩才能选择json。你不能同时使用serde(json和gzip)