在hadoop和hbase文件传输可以在压缩之后在进行传输,这样就可以在传输的时候减少传输数据,增大I/O和带宽效率。其中压缩阶段分为三种:包括input data压缩,middle result by map还有最后一种就是reduce之后的最终结果。在hadoop中主要提供了三种压缩方式Gzip、LZO、Snappy三种数据压缩。后面两种需要额外的配置和安装依赖。但是,在hadoop中默认都已经实现接口。但是如果你不进行相应的安装依赖,当你想使用某个压缩手段的时候还是会报出各种错误。
比如在启动某个job的时候可能会有如下提示:
"Cannot load Snappy without snappy library!",或者也有可能是抛出一个异常"native snappy library not available",这都是说明当前hadoop的配置中无法使用压缩。那么想使用某种压缩手段必须先安装,这里介绍的是Snappy的安装。Snappy是谷歌推出的一种压缩方法,详情请点击
其中安装步骤如下:
在安装之前必须确定Requirements: gcc c++, autoconf, automake, libtool, Java 6, JAVA_HOME set, Maven 3都已经安装到机器上,如果没有请相应挨个安装。
1:下载并安装snappy,在上述的snappy介绍地址中就有下载链接。下载并解压到/tmp/snappy目录下。
安装
$
tar
zxvf snappy-1.0.5.
tar
.gz
$
cd
snappy-1.0.5
$ .
/configure
$