map中的mapreduce – gzip输入文件

我正在使用java ,我正在尝试编写一个mapreduce ,它将接收一个包含多个gz文件的文件夹。

我一直在寻找,但我发现的所有教程都是如何处理一个简单的文本文件,但没有找到解决我问题的任何东西。

我在我的工作场所问过,但只提到scala,我并不熟悉。

任何帮助,将不胜感激。

Hadoop检查文件扩展名以检测压缩文件。 Hadoop支持的压缩类型有:gzip,bzip2和LZO。 您不需要采取任何其他操作来使用这些类型的压缩来提取文件; Hadoop为您处理它。

因此,您只需要为文本文件编写逻辑,并将包含.gz文件的目录作为输入传递。

但是gzip文件的问题在于它们不是可拆分的,假设你有每个5GB的gzip文件,那么每个映射器将处理整个5GB文件,而不是使用默认的块大小。

Interesting Posts