G:\Bigdata\Projects\大数据电商数仓项目(含2.0、3.0版本)\数仓项目实战V2.0\word版资料
1. Hive集成引擎Tez
Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看下图。
用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。
Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。
1.1 安装包准备
1)下载tez的依赖包:Apache Tez – Welcome to Apache TEZ®
2)拷贝apache-tez-0.9.1-bin.tar.gz到hadoop102的/opt/software目录
[seven@hadoop102 software]$ ls
apache-tez-0.9.1-bin.tar.gz
3)将apache-tez-0.9.1-bin.tar.gz上传到HDFS的/tez目录下。
[seven@hadoop102 conf]$ hadoop fs -mkdir /tez
[seven@hadoop102 conf]$ hadoop fs -put /opt/software/apache-tez-0.9.1-bin.tar.gz/ /tez
4)解压缩apache-tez-0.9.1-bin.tar.gz
[seven@hadoop102 software]$ tar -zxvf apache-tez-0.9.1-bin.tar.gz -C /opt/module
5)修改名称
[seven@hadoop102 module]$ mv apache-tez-0.9.1-bin/ tez-0.9.1
1.2 集成Tez
1)进入到Hive的配置目录:/opt/module/hive/conf
[seven@hadoop102 conf]$ pwd
/opt/module/hive/conf
2)在Hive的/opt/module/hive/conf下面创建一个tez-site.xml文件
[seven@hadoop102 conf]$ pwd
/opt/module/hive/conf
[seven@hadoop102 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/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.ATSHistoryLoggingService</value>
</property>
</configuration>
2)在hive-env.sh文件中添加tez环境变量配置和依赖包环境变量配置
[seven@hadoop102 conf]$ mv hive-env.sh.template hive-env.sh
[seven@hadoop102 conf]$ vim hive-env.sh
添加如下配置
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_