Hive引擎替换为tez
Hive的默认计算引擎是MR,但是mapreduce的速度实在是很慢,所以我们考虑将计算引擎更换为tez
安装环境:
Hadoop-2.7.4
hive-2.3.6
具体版本根据自己实际情况来
首先tez下载:tez版本请参考官网,我这里是下载的0.9.1
这需要jdk8或更高版本,还有maven3或更高版本
https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.1/
这是下载地址,需要注意的是一个是bin.tar.gz,一个是src.tar.gz,src是源码包,下载后需要编译,bin版本不需要
我这里下载的是bin的
1.安装部署:
下载完之后解压安装
tar -zxvf apache-tez-0.9.1-bin.tar.gz /解压目录
mv apache-tez-0.9.1-bin.tar.gz tez-0.9.1
然后进入Hive的安装目录
cd /app/hive-2.3.6/conf
vim hive-env.sh
#添加以下配置
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/app/hadoop-2.7.4 #这是你hadoop的安装目录
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/app/hive-2.3.6/conf #这是你hive配置文件的目录
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export TEZ_HOME=/app/tez-0.9.1 #是你的tez的解压目录
export TEZ_JARS=""
for jar in `ls $TEZ_HOME |grep jar`; do
export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar
done
for jar in `ls $TEZ_HOME/lib`; do
export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar
done
export HIVE_AUX_JARS_PATH=/app/hadoop-2.7.4/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS #这是引用的hadoop下的jar包路径
/app/hadoop-2.7.4/share/hadoop/common目录下一定要有hadoop-lzo-0.4.20.jar包不然会报错
没有的可以去网上下一个放到目录下面
然后再hive-site.xml中配置
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
或者你可以使用临时会话性的设置.
set hive.execution.engine=tez;
2.然后进行tez的配置
在hive的conf目录下创建一个tez-site.xml的文件
vim tez-site.xml
添加如下内容
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<!-- 这是设置tez在hdfs上的lib包路径-->