MAPR提供压缩存储集群中的文件。除非你把压缩会自动应用到未压缩的文件压缩功能。压缩的优点是:
- 压缩数据使用网络上的带宽更少比未压缩的数据。
- 压缩后的数据使用较少的磁盘空间。
此页面包含了以下主题:
选择压缩设置
MAPR支持三种不同的压缩算法:
- LZ4(默认)
- LZF
- ZLIB
压缩算法可以计算压缩率(较高的压缩意味着使用更少的磁盘空间),压缩速度和压缩速度。下表给出了三个支持的算法进行比较。该数据是基于一个单一的线程,酷睿2在3 GHz的。
压缩类型 |
压缩比 |
压缩速度 |
解压速度 |
---|---|---|---|
LZ4 | 2.084 | 330 MB / s的 | 915 MB / s的 |
LZF | 2.076 | 197 MB / s的 | 465 MB / s的 |
ZLIB | 3.095 | 14 MB / s的 | 210 MB / s的 |
请注意,压缩速度取决于多种因素,包括:
- 块大小(块大小更小,更快的压缩速度)
- 单线程与多线程系统
- 单核与多核系统
- 使用的编解码器的类型
设置压缩的文件
压缩设置在目录级。写的一个Hadoop的应用程序的任何文件,无论是通过文件API或通过NFS,根据对所在的文件写入的目录的设置被压缩。上压缩尚未明确设置子目录继承包含它们的目录的压缩设置。
如果更改写入文件后的目录的压缩设置,该文件将保留旧的压缩设置---也就是说,如果你在一个未压缩的目录中写入一个文件,然后打开压缩时,该文件不会自动结束了压缩,反之亦然。进一步的写入到文件将使用文件的现有压缩设置。
压缩文件的文件扩展名
默认情况下,MAPR不压缩文件,其文件扩展名表示他们已经压缩。是文件扩展名的默认列表如下:
- BZ2
- GZ
- LZO
- 瞬间
- TGZ
- tbz2的
- 拉链
- Ž
- Ž
- MP3
- JPG
- JPEG
- MPG
- MPEG
- AVI
- GIF
- PNG
文件扩展名不压缩的列表存储为逗号分隔值mapr.fs.nocompression
配置参数,并能与被修改的配置保存
命令。例如:
该列表可以与被视为配置负载
指令。例如:
开启或关闭压缩的目录
您可以打开或关闭压缩在两个方面给定目录:
- 设置的值
压缩
属性的。dfs_attributes在目录的顶层文件。- 设置
压缩= LZF | LZ4 | zlib的
打开压缩上的一个目录。 - 设置
压缩= FALSE
把压缩过的目录。
- 设置
- 使用命令
hadoop的MFS上setcompression | off/lzf/lz4/zlib <DIR>
。
如果您选择- setcompression上
,而不指定一个算法,LZ4默认情况下使用。该算法已为64 KB MAPR的块大小提高压缩速度。
例子
假设量测试
是NFS的安装在/ MAPR / my.cluster.com /项目/测试
。您可以通过编辑文件关闭压缩/ MAPR / my.cluster.com /项目/测试/ .dfs_attributes
和设置压缩=假
。为了实现从同样的事情Hadoop的
外壳,使用以下命令:
您可以查看使用目录中的压缩设置hadoop的MFS -LS
命令。例如,
对各种压缩设置的符号进行了说明:
符号 |
压缩设置 |
---|---|
Ž | LZ4 |
Ž | ZLIB |
L | LZF |
ü | 未压缩的,或以前使用其他算法压缩 |
设置在压缩过程中洗牌
默认情况下,MapReduce的使用压缩在洗牌阶段。您可以使用-Dmapreduce.maprfs.use.compression
开关打开压缩关闭期间MapReduce作业的洗牌阶段。例如: