hadoop对于压缩格式的是透明识别,我们的MapReduce任务的执行是透明的,hadoop能够自动为我们 将压缩的文件解压,而不用我们去关心。
如果我们压缩的文件有相应压缩格式的扩展名(比如lzo,gz,bzip2等),hadoop就会根据扩展名去选择解码器解压。
| 压缩格式 | 工具 | 算法 | 文件扩展名 | 多文件 | 可分割性 |
| DEFLATE | 无 | DEFLATE | .deflate | 不 | 不 |
| gzip | gzip | DEFLATE | .gz | 不 | 不 |
| ZIP | zip | DEFLATE | .zip | 是 | 是,在文件范围内 |
| bzip2 | bzip2 | bzip2 | .bz2 | 不 | 是 |
| LZO | lzop | LZO | .lzo | 不 | 是 |
如果压缩的文件没有扩展名,则需 要在执行mapreduce任务的时候指定输入格式.
hadoop jar

Hadoop能自动识别并解压具有扩展名的压缩文件,如lzo、gz、bzip2等。gzip不支持分割,可能导致性能下降;LZO支持分块并有较快解压速度,适合MapReduce。bzip2支持分割,但解压慢。选择压缩格式应考虑应用场景,测试不同策略以找到最佳方案。
最低0.47元/天 解锁文章
795

被折叠的 条评论
为什么被折叠?



