Hive的Tez引擎安装与使用

0 篇文章 0 订阅

Hive的Tez引擎安装与使用

Tez引擎介绍

Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看下图。
在这里插入图片描述

用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。
Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。

Tez引擎jar包

1)下载tez的依赖包:http://tez.apache.org
2)拷贝apache-tez-0.9.1-bin.tar.gz到linux102的/opt/module目录
[ayl@linux102 module]$ ls
apache-tez-0.9.1-bin.tar.gz
3)解压缩apache-tez-0.9.1-bin.tar.gz
[ayl@linux102 module]$ tar -zxvf apache-tez-0.9.1-bin.tar.gz
4)修改名称
[ayl@linux102 module]$ mv apache-tez-0.9.1-bin/ tez-0.9.1

在hive中配置Tez

1)进入到Hive的配置目录:/opt/module/hive/conf
[ayl@linux102 conf]$ pwd
/opt/module/hive/conf
2)在hive-env.sh文件中添加tez环境变量配置和依赖包环境变量配置
[ayl@linux102 conf]$ vim hive-env.sh
添加如下配置

# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/opt/module/hadoop-2.7.2

# 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:
export TEZ_HOME=/opt/module/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=/opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS

3)在hive-site.xml文件中添加如下配置,更改hive计算引擎

<property>
    <name>hive.execution.engine</name>
    <value>tez</value>
</property>

Tez自身配置

1)在Hive的/opt/module/hive/conf下面创建一个tez-site.xml文件
[ayl@linux102 conf]$ pwd
/opt/module/hive/conf
[ayl@linux102 conf]$ vim 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.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib</value>
</property>
<property>
	<name>tez.lib.uris.classpath</name>    	<value>${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.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>

上传Tez到hadoop集群

1)将/opt/module/tez-0.9.1上传到HDFS的/tez路径
[ayl@linux102 conf]$ hadoop fs -mkdir /tez
[ayl@linux102 conf]$ hadoop fs -put /opt/module/tez-0.9.1/ /tez
[ayl@linux102 conf]$ hadoop fs -ls /tez
/tez/tez-0.9.1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值