关于Apche Tez,请自行搜索,较MR,它能提升分布式作业的性能。本文介绍的是Hive使用Tez作为执行引擎。
我的环境:
hadoop-2.6.0-cdh5.8.3
apache-hive-2.1.1-bin
下载Apache Tez
wget http://www-us.apache.org/dist/tez/0.8.5/apache-tez-0.8.5-bin.tar.gz
在本机建立tez安装目录 /data/bigdata/tez/current , 并解压apache-tez-0.8.5-bin.tar.gz
配置Tez
将$TEZ_HOME/share/tez.tar.gz 上传至HDFS目录:hdfs://cdh5/apps/tez/
在$TEZ_HOME/conf下新建tez-site.xml
<configuration>
<property>
<name>tez.lib.uris</name>
<value>hdfs://cdh5/apps/tez/tez.tar.gz</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>
<property>
<name>tez.runtime.compress</name>
<value>true</value>
</property>
<property>
<name>tez.runtime.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
</configuration>
配置Hive
编辑$HIVE_HOME/conf/hive-env.sh,增加下面配置:
## for tez
export TEZ_HOME=/data/bigdata/tez/current
export TEZ_CONF_DIR=/etc/hadoop/conf
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_HOME}/*:${TEZ_HOME}/lib/*
测试Hive On Tez
使用命令
$HIVE_HOME/bin/hive –hiveconf hive.execution.engine=tez 进入hive-cli:
执行一个查询SQL:
初步测试,Hive On Tez 比 Hive On MR 执行性能提升2~3倍以上。
另外,如果你使用的是社区版的Hadoop、或者HDP版本的Hadoop,可以尝试一下Hive+Tez+LLAP,据说性能提升25倍以上,和Impala、Presto不相上下,
但CDH版本的Hadoop目前不支持LLAP。
如果觉得本博客对您有帮助,请 赞助作者 。
转载请注明:lxw的大数据田地 » 轻松配置Hive On Tez