如何为hive中的所有已加载数据启用snappy压缩?

时间:2015-05-25 09:51:23

标签: hadoop hive hiveql hadoop2 snappy

我的Hive仓库中有大量TB数据,我正在尝试为它们启用snappy压缩。我知道我们可以使用

启用配置单元压缩
hive> SET hive.exec.compress.output=true;
hive> SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;

将数据加载到配置单元中,但是如何压缩已经加载的数据。

1 个答案:

答案 0 :(得分:1)

Hive ORCFile支持压缩存储。要将现有数据转换为ORCFile,请创建一个与源表具有相同模式的新表,并存储为orc,如下所示: -

CREATE TABLE A_ORC ( 
    customerID int, name string, ..etc 
) STORED AS ORC tblproperties (“orc.compress" = “SNAPPY”); 

INSERT INTO A_ORC SELECT * FROM A; 

此处 A_ORC 是新表, A 是源表

Here you can learn more about ORCFile