hdp3.1.4 hive 开启lzo压缩

因为集群本身是不支持lzo压缩的,所以需要我们自行安装配置。

环境:

  1. hdp 3.1.4
  2. hadoop-lzo : 0.4.21
  3. lzo :2.10

安装步骤如下:

在源码编译安装之前需要做一些准备工作:

1. yum -y install *lzo* (为了后续安装lzop)

2. yum -y install gcc-c++ lzo-devel zlib-devel autoconf automake libtool

3. wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz

4.tar -zxvf lzo-2.10.tar.gz

5.cd lzo-2.10/

6.  ./configure -prefix=/usr/local/lzo/

7.  make

8. make install 

hadoop-lzo源码编译:

1. git clone https://github.com/twitter/hadoop-lzo/archive/master.zip

2.unzip master.zip

3.cd hadoop-lzo-master

4.修改pom文件,适配集群版本.找到hadoop.current修改版本号:
                                                   <hadoop.current.version>2.7.1</hadoop.current.version>  --> 3.1.1

5.mvn package -Dmaven.test.skip=true

6.编译完成之后,将jar包放到hdp的hadoop lib目录下:

7.分发到其他节点的同目录下。

8.修改配置文件:

core-site:   

<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec</value>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>

9.

10.重启集群。进行测试。

登入hive:

如果报class not found com.hadoop.mapred.DeprecatedLzoTextInputFormat。需要记得重启集群。

11.

通过lzop命令将普通文件变成lzo文件。

lzop a.txt 

12.  load data local inpath '/home/hadoop/a.txt.lzo' into table lzo_test; 测试成功。

猜你喜欢

转载自blog.csdn.net/weixin_40954192/article/details/106875391