0. 相关文章链接
1. 什么是Tez引擎
Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看下图。
用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。
Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。
2. 安装包下载和上传
1)下载tez的依赖包:Apache Tez – Welcome to Apache TEZ®
2)上传安装包到 /opt/software 目录下,如下图所示
3)解压安装包到 /opt/module 目录下,并配置软连接
mkdir /opt/module/tez-0.10.1
tar -zxvf tez-0.10.1-SNAPSHOT.tar.gz -C /opt/module/tez-0.10.1
ln -s /opt/module/tez-0.10.1/ /opt/module/tez
3. 在hive中配置tez
1)在hive的conf目录下新添加 hive–env.sh 文件,并在该文件中添加如下配置:
vim /opt/module/hive/conf/hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/opt/module/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/module/hive/conf
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
# tez的解压目录
export TEZ_HOME=/opt/module/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
# 需要设置 HIVE_AUX_JARS_PATH
export HIVE_AUX_JARS_PATH=${TEZ_JARS:1}
echo $HIVE_AUX_JARS_PATH
2)在hive-site.xml文件中添加如下配置,更改hive计算引擎
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
4. 配置Tez
1)在Hive的/opt/module/hive/conf下面创建一个tez-site.xml文件
vim /opt/module/hive/conf/tez-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/tez/tez-0.10.1,${fs.defaultFS}/tez/tez-0.10.1/lib</value>
</property>
<property>
<name>tez.lib.uris.classpath</name>
<value>${fs.defaultFS}/tez/tez-0.10.1,${fs.defaultFS}/tez/tez-0.10.1/lib</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>
<property>
<name>tez.history.logging.service.class</name>
<value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property>
</configuration>
5. 上传Tez到集群
将/opt/module/tez-0.10.1上传到HDFS的/tez路径
hadoop fs -mkdir /tez
hadoop fs -put /opt/module/tez-0.10.1/ /tez
hadoop fs -ls /tez
最后正常运行hive即可,再执行作业时,即为使用tez引擎来执行
注:其他相关文章链接由此进 -> 大数据基础知识点 文章汇总
原文地址:https://blog.csdn.net/yang_shibiao/article/details/123898406
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_24408.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!