Tez简介
Tez是Hive的一个运行引擎,性能优于MR
如上图,用hive直接编写mr程序,假设有4个有依赖关系的mr作业,绿色是reduce task,云代表写屏蔽,需要将中间结果持久化到HDFS,tez可以将多个有依赖的作业转换为一个作业,这样只需要写一次hdfs,且中间节点较少,从而大大提升作业的计算性能
安装并集成Tez
1)下载 tez 的依赖包:http://tez.apache.org
2)上传到hdfs的/tez目录下面
hadoop fs -put apache-tez-0.9.1-bin.tar.gz/ /tez
3) 解压到你的路径
我这里是:
4)在你的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/apache-tez-0.9.1-bin.tar.gz</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.ATSHistoryLoggin gService</value>
</property>
</configuration>
5)修改hive-env.sh
加上
export TEZ_HOME=I:\develop_software\tez\apache-tez-0.9.1-bin\apache-tez-0.9.1-bin #是你的 tez 的解压目录
6)切换hive的计算引擎
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
7)启动hive,查看一下
hive>set hive.execution.engine;
tez
那么就成功了。