在 pig 中读取 snappy 压缩输入

Posted

技术标签:

【中文标题】在 pig 中读取 snappy 压缩输入【英文标题】:Reading snappy compressed input in pig 【发布时间】:2013-01-23 20:27:53 【问题描述】:

我有一个文件,我正试图将它加载到用 snappy 压缩的 pig 中。我在 grunt 中设置了配置选项,就像在 this jira issue 中描述的那样,但我仍然在结果中获得压缩数据。

当我运行作业时,它会说: org.apache.hadoop.io.compress.snappy.LoadSnappy - Snappy 原生库可用

为了这份工作,我做了一个简单的 a = 使用 PigStorage() 加载 '/path/to/snappy/file' 作为 (x, y, z)

然后: 转储数据

将输出压缩后的数据。

有谁知道我可以做些什么来正确读取数据?提前致谢。

【问题讨论】:

【参考方案1】:

PigStorage 使用 PigTextInputFormat 进行输入,它将检测并使用 Snappy 压缩文件,但文件必须具有正确的扩展名,hadoop 压缩编解码器工厂才能知道使用 snappy。

我的猜测是您的文件没有 .snappy 扩展名,请尝试重命名文件并重试

【讨论】:

以上是关于在 pig 中读取 snappy 压缩输入的主要内容,如果未能解决你的问题,请参考以下文章

pyspark如何加载压缩的snappy文件

压缩软件Snappy的安装

Flink 实战系列Flink 同步 Kafka 数据到 HDFS parquet 格式存储 snappy 压缩

Flink 实战系列Flink 同步 Kafka 数据到 HDFS parquet 格式存储 snappy 压缩

HBase 安装snappy压缩软件以及相关编码配置

Flink 实战系列Flink SQL 使用 filesystem connector 同步 Kafka 数据到 HDFS(parquet 格式 + snappy 压缩)