0

我有一个这样创建的 Hive 表:

set hive.exec.compress.output=true;
set avro.output.codec=snappy;

CREATE EXTERNAL TABLE my_table (
  aaa     STRING,
  ...
)
STORED AS AVRO LOCATION '/somewhere/my_table';

我现在想通过 Pig 脚本将数据加载到此表中:

...
do lots of stuff
...
STORE a_bag_of_data INTO 'my_table' USING org.apache.hive.hcatalog.pig.HCatStorer();

到目前为止一切都很好(数据存储到 Avro 文件中),但我希望使用 snappy 编解码器对其进行压缩。

我试图添加(除其他外)

SET hive.exec.compress.output true;
SET avro.output.codec snappy;

到猪脚本,但它似乎没有任何区别。

如果我使用 Hive 查询将数据插入到表中,我可以在表的基础文件中看到它正在使用 snappy 压缩。

我有什么方法可以告诉 HCatWriter 告诉 Hive 使用 Snappy 压缩写入表?

谢谢你的帮助。

4

0 回答 0