我有一个我创建的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;
到Pig脚本,但它似乎没有任何区别。
如果我使用Hive查询将数据插入表中,我可以在表的基础文件中看到它正在使用snappy压缩。
有没有办法告诉HCatWriter告诉Hive使用Snappy压缩写入表?
感谢您的帮助。