map中的mapreduce – gzip输入文件
我正在使用java
,我正在尝试编写一个mapreduce
,它将接收一个包含多个gz
文件的文件夹。
我一直在寻找,但我发现的所有教程都是如何处理一个简单的文本文件,但没有找到解决我问题的任何东西。
我在我的工作场所问过,但只提到scala,我并不熟悉。
任何帮助,将不胜感激。
Hadoop检查文件扩展名以检测压缩文件。 Hadoop支持的压缩类型有:gzip,bzip2和LZO。 您不需要采取任何其他操作来使用这些类型的压缩来提取文件; Hadoop为您处理它。
因此,您只需要为文本文件编写逻辑,并将包含.gz文件的目录作为输入传递。
但是gzip文件的问题在于它们不是可拆分的,假设你有每个5GB的gzip文件,那么每个映射器将处理整个5GB文件,而不是使用默认的块大小。