如何在Pig中使用HCatalog对hive Metastore使用压缩技术?

时间:2013-10-15 15:38:39

标签: hadoop hive apache-pig hcatalog

我有一些猪脚本,它使用PigStorage()从普通文本文件中获取输入。我想加载和存储来自hive Metastore的数据,因为我已经使用了来自Hcatalog的HcatLoader()和HcatStorage()。有人能告诉我如何在猪中存储和加载压缩蜂巢数据。

2 个答案:

答案 0 :(得分:0)

Pig通常知道如何使用gzip或bzip2压缩压缩数据。对于LZO,您必须在群集上启用它。

要以压缩形式存储数据,您可以将其放在脚本中:

SET mapred.output.compress true;
SET mapred.output.compression.codec org.apache.hadoop.io.compress.GzipCodec;

这将导致您的输出使用gzip进行压缩。

答案 1 :(得分:0)

HCatalog的部分章程是让消费者完全不了解存储问题(如压缩或格式)。如果底层存储首先解压缩然后压缩,则不必重写脚本以确保您正在读取压缩数据。

话虽如此......我认为压缩支持还没有在HCatalog中实现。 HCatalog Roadmap - 写了很久以前......但在预想的未来特征中有“压缩”。

我的猜测是你不得不求助于使用HiveStorage类而不是HCatalog。

免责声明:我也可能完全弄错了,但我能找到的所有证据似乎都表明HCatalog中没有实现压缩。