如何在pig中使用hcatlog使用hive元存储的压缩技术?

laik7k3q  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(324)

我有一些pig脚本,它使用pigstorage()从普通文本文件获取输入。我想从配置单元元存储中加载和存储数据,为此我使用了hcatalog中的hcatloader()和hcatstorage()。有人能告诉我如何在pig中存储和加载压缩配置单元数据吗。

bksxznpy

bksxznpy1#

hcatalog章程的一部分是让消费者完全不知道存储问题(如压缩或格式)。如果底层存储先解压缩,然后再压缩,则不必重写脚本以确保正在读取压缩数据。
话虽如此。。。我认为压缩支持还没有在hcatalog中实现。hcatalog路线图-很久以前写的。。。但在设想的未来功能中有“压缩”功能。
我猜您将不得不使用hivestorage类而不是hcatalog。
免责声明:关于这一点,我也可能完全弄错了,但我能找到的所有证据似乎都表明,压缩并没有在hcatalog中实现。

fcipmucu

fcipmucu2#

pig通常知道如何自动加载压缩数据,如果它是使用gzip或bzip2压缩的。对于lzo,您必须在集群上启用它。
要以压缩形式存储数据,可以将其放入脚本中:

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

这将导致使用gzip压缩输出。

相关问题