#### Tez是什么?
Tez是Hontonworks开源的支持DAG作业的计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升MapReduce作业的性能。Tez并不直接面向最终用户——事实上它允许开发者为最终用户构建性能更快、扩展性更好的应用程序
#### 如何编译
Tez最新的版本是0.8.4,本文就记录下Tez的编译过程,之前的Tez版本都是源码包,最新的版本虽然提供了编译后的tar包,但是大部分情况下是针对特定的Hadoop版本,如果和我们的Hadoop版本不一致,可能某个时刻会出现一些未知的问题,所以为了稳定,还是建议和自己使用的Hadoop版本匹配,所以就需要编译了。
下载源码后:http://ftp.kddilabs.jp/infosystems/apache/tez/0.8.4/
(1)解压完毕,修改根目录下的pom.xml,修改对应的Hadoop的版本。
(2)注释掉tez-ui2的子项目依赖pom,因为tez ui2编译坑比较多,可能通不过
(3)如果你是root用户编译Tez,记得修改tez-ui/pom.xml,添加允许root权限执行nodejs安装bower
<execution>
<id>Bower install</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<workingDirectory>${webappDir}</workingDirectory>
<executable>${node.executable}</executable>
<arguments>
<argument>node_modules/bower/bin/bower</argument>
<argument>install</argument>
<argument>--allow-root</argument> //添加的部分
<argument>--remove-unnecessary-resolutions=false</argument>
</arguments>
</configuration>
</execution>
(4)注意编译的linux机器最好能fan qiang下载东西,如果不能就把根目录下的pom.xml中tez-ui也注释掉,因为不管是tez-ui还是tez-ui2都需要下载nodejs相关的东西,默认的是在墙外的,不能fan出去80%的几率会编译失败,所以如果是nodejs相关的编译失败,就把tez-ui相关的子项目都注释掉不让参与编译,这个ui没什么大的作用,就是看下job的计划,没有它也能使用Tez优化DAG依赖。
(5)能不能自己在linux上单独装nodejs,然后让tez的nodejs用本机装的那个而避免下载墙外的,经实测发现不行,tez里面的nodejs好像是单独依赖的,只要编译就会下载,最好的办法就是注释掉和tez-ui相关的东西
上面的一切搞定后,开始执行编译命令:
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
编译成功后,截图如下:
#### 如何与Hive集成
(1)编译成功后,进入下面的目录
/root/apache-tez-0.8.4-src/tez-dist/target
可以看到tez编译的相关的jar包都在这里,有一个mini的最小包,还有一个包含所有Hado
op相对fat包,我们只需要将mini包里面所有的jar包,拷贝到hive的/lib目录下
(2)将tez-0.8.4.tar.gz重命名为tez.tar.gz
然后执行下面的命令上传的根目录下面
hadoop fs -put tez.tar.gz /user/search/
(3) 然后启动Hive并切换为Tez引擎,执行下面的查询语句:
set hive.execution.engine=tez;
select name,count(*) as c from info group by name order by c desc ;
会看到控制台出现下面的很nice的进度条时,就代表Tez集成成功!
然后,你无需改动任何一行原来写过的SQL的代码,直接切换引擎为Tez,性能就会提升数倍,越是复杂的SQL,提升性能越明显,最后,你就可以早点下班回家了陪女朋友了。
有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。
分享到:
相关推荐
Hive 2.1.0支持多种执行引擎,包括MapReduce、Tez和Spark。MapReduce适合批处理但延迟较高,Tez提供了更高效的DAG执行模型,Spark则提供了内存计算,显著提升了交互式查询的性能。 6. **连接与JOIN操作**: Hive...
虽然在后续版本中Hive开始支持其他计算引擎,如Tez和Spark,但在2.1.0中,MapReduce仍然是主要的执行引擎之一。 6. **Partitioning and Bucketing**:为了提高查询性能,Hive支持对大表进行分区和桶化。分区是根据...
2. **Tez Execution Engine**:Hive默认的执行引擎,提供更高效的数据处理能力,比MapReduce更快。 3. **Hive SerDes (Serializers/Deserializers)**:用于序列化和反序列化数据的组件,2.1.0版本可能包含了更多优化...
然而,在实际操作中,我们经常会遇到一些常见的错误,特别是当Hive运行在Tez引擎上时。这里我们将深入探讨五个在Hive on Tez中常见的报错问题及其解决方案。 1. 错误一:Failing because I am unlikely to write ...
hive-jdbc-2.1.0.jar
在CDH环境中集成Tez引擎以提升Hive的性能,主要涉及以下几个关键步骤和知识点: 1. **Hadoop版本匹配**: CDH版本需要与Tez版本相匹配。在这个例子中,CDH版本是6.2.0,而Tez版本是0.9.1。确保使用兼容的Hadoop...
此"Apache Atlas 2.1.0 集成CDH6.3.2 编译包"意味着已经将Apache Atlas与Cloudera Data Hub (CDH) 6.3.2版本进行了整合,使得用户能够在CDH环境中无缝地使用Apache Atlas的功能。 CDH(Cloudera Distribution ...
"基于CentOS7的Hadoop2.7.7集群部署+hive3.1.1+Tez0.9.1" 本文档旨在描述基于CentOS7的Hadoop2.7.7集群部署+hive3.1.1+Tez0.9.1的环境搭建过程。该文档涵盖了环境说明、软件版本说明、配置hosts和hostname、配置SSH...
Apache Hive和Tez是大数据处理领域中的两个重要组件,它们在Hadoop生态系统中扮演着关键角色。本篇文章将深入探讨这两个工具以及它们如何协同工作。 Hive是基于Hadoop的数据仓库工具,它允许用户通过SQL(称为HQL,...
Hadoop3+Hive3+Tez编译安装;适用视频:https://www.bilibili.com/video/BV1L54
### Hadoop环境搭建之Hive 2.1.1配置详解 #### 一、概述 在构建大数据处理环境时,Apache Hive 是一个重要的组件,它提供了SQL查询功能,使用户能够方便地对存储在Hadoop文件系统(HDFS)中的大规模数据集进行数据...
Hive和Tez是大数据处理领域中的两个重要组件,它们在数据仓库和分析工作中发挥着关键作用。Hive是基于Hadoop的数据仓库工具,能够将结构化的数据文件映射为一张数据库表,并提供SQL(HQL)接口进行数据查询和分析。...
### CDH6.3.2集成tez #### 概述 Cloudera Distribution Including Apache Hadoop (CDH) 是一款由 Cloudera 公司提供的企业级大数据平台,它包含了 Hadoop 生态系统中的核心组件和服务。Tez 是一个支持复杂数据处理...
通过这些文件,我们可以深入了解Soda SQL如何与Hive集成,以及如何配置和使用该库进行数据质量检查。 1. **核心组件**:Soda SQL的核心组件包括数据扫描器(Scanner)、数据验证器(Validator)和报告生成器...
hive-jdbc-2.1.0-standalone.jar
而DataGrip是一款由JetBrains公司开发的强大数据库集成开发环境,支持多种数据库,包括Hive。当你需要在DataGrip中连接到Hive数据库时,就需要特定的驱动包来实现这个功能。本文将详细介绍如何使用Hive驱动包连接...
5. `tez-api.jar`和`tez-client.jar`:Tez是Hive 2.x默认的执行引擎,这些jar文件提供了Tez的API和客户端。 6. `thrift-server.jar`:Thrift是跨语言服务开发的框架,Hive使用它来提供服务接口。 7. `libthrift*.jar...
使用BigFrame比较Hive-MR和Hive-Tez的性能Hadoop 2.6.0 + Hive 1.2.0 + Tez 0.7.0 + Tomact 8.0 + Tez UI 0.7.0 + MySQL + BigFrame + Datahooks教程 系统必备本教程基于Ubuntu 14.04LTS 64位版本。 添加一个名为...
Apache Atlas 提供了一个强大的服务框架,可以与其他大数据组件(如 Hive、Hadoop、HBase 等)集成,实现对大数据生态系统的全面治理。 在给定的压缩包 "apache-atlas-2.1.0-hive-hook.tar.gz" 中,重点是 "Hive ...