【问题标题】:Create zip tables in HDFS在 HDFS 中创建 zip 表
【发布时间】:2017-04-12 07:45:44
【问题描述】:

我试图创建一个不是像这样 zip 的表。

CREATE TABLE example_table (|   a BIGINT,    b BIGINT,    v STRING,   d TINYINT   )  STORED AS TEXTFILE  LOCATION /path/to/directory/

这不是拉链桌。我还想用 zip 创建新表来获取该表的历史记录。我怎样才能用 zip 创建一张表?

【问题讨论】:

  • STORED AS TEXTFILE 未压缩,不。为什么不使用不同的存储格式?

标签: hadoop mapreduce hdfs impala hadoop-partitioning


【解决方案1】:

首先设置以下属性

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

现在将数据插入备份表中

INSERT INTO backup_table select * from example_table

现在数据将转换为 Gzip 格式

【讨论】:

  • 那么在那之后所有的表格都将是 zip 吗?我应该总是在插入任何表格之前写它吗?
  • 所有数据文件都会被压缩到gz,你需要在每个会话中设置一次这些属性,如果你退出会话并再次启动新会话,在将数据插入备份表之前再次设置它们
  • 最后一个问题是我应该在 hive 中插入数据还是也可以通过 impala 插入?您能否在有关该问题的答案下方添加一个链接。谢谢您的回复
  • 是的,你也可以通过 impala 插入数据,我没有得到你评论的最后一部分
  • 但是会话是在 hive 上打开的? hdfs怎么会知道呢?
猜你喜欢
  • 2021-08-30
  • 2016-08-01
  • 2013-01-12
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 2020-05-04
  • 2014-03-21
  • 2017-09-24
相关资源
最近更新 更多