前言
本博客讲述的是将Apache Hive默认的执行引擎MR换成TEZ计算引擎,在进行Hive集成TEZ前,请保证集群已经成功安装了Hive,安装Hive可以参考本人的博客:Apache Hive的安装
一、Hive运行引擎Tez简介
Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看TEZ官网给出的执行对比图:
用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中绿色是Reduce Task,云状表示写磁盘,需要将中间结果持久化写到HDFS。
Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,大大减少了磁盘IO,且中间节点较少,从而大大提升作业的计算性能。
二、正式开始Hive集成TEZ
2.1 安装包准备
从官网下载tez的对应的依赖包:http://tez.apache.org,在官网的Install Guide中,我们需要查看TEZ关于Apache Hadoop的依赖关系,官网原文如下:
原文:Replace x.y.z with the tez release number that you are using. E.g. 0.5.0. For Tez versions 0.8.3 and higher, Tez needs Apache Hadoop to be of version 2.6.0 or higher. For Tez version 0.9.0 and higher, Tez needs Apache Hadoop to be version 2.7.0 or higher
译文:将x.y.z替换为正在使用的tez版本号,例如:0.5.0。对于0.8.3及更高版本的Tez,Tez需要Apache Hadoop