`
qindongliang1922
  • 浏览: 2171094 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117076
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125422
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59491
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71017
社区版块
存档分类
最新评论

Hive2.1.0集成Tez

    博客分类:
  • Hive
阅读更多


#### 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),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

1
0
分享到:
评论
2 楼 qindongliang1922 2016-11-23  
zhuqitian 写道
好久不登,我编译过了,可惜ui2不好过,我是注释了才过的

是的
1 楼 zhuqitian 2016-11-22  
好久不登,我编译过了,可惜ui2不好过,我是注释了才过的

相关推荐

    hive-2.1.0.rar

    Hive 2.1.0支持多种执行引擎,包括MapReduce、Tez和Spark。MapReduce适合批处理但延迟较高,Tez提供了更高效的DAG执行模型,Spark则提供了内存计算,显著提升了交互式查询的性能。 6. **连接与JOIN操作**: Hive...

    apache-hive-2.1.0-bin.tar.gz

    虽然在后续版本中Hive开始支持其他计算引擎,如Tez和Spark,但在2.1.0中,MapReduce仍然是主要的执行引擎之一。 6. **Partitioning and Bucketing**:为了提高查询性能,Hive支持对大表进行分区和桶化。分区是根据...

    apache-hive-2.1.0-bin.tar.zip

    2. **Tez Execution Engine**:Hive默认的执行引擎,提供更高效的数据处理能力,比MapReduce更快。 3. **Hive SerDes (Serializers/Deserializers)**:用于序列化和反序列化数据的组件,2.1.0版本可能包含了更多优化...

    hive on tez 常见报错问题收集

    然而,在实际操作中,我们经常会遇到一些常见的错误,特别是当Hive运行在Tez引擎上时。这里我们将深入探讨五个在Hive on Tez中常见的报错问题及其解决方案。 1. 错误一:Failing because I am unlikely to write ...

    hive-jdbc-2.1.0.jar

    hive-jdbc-2.1.0.jar

    cdh继承tez引擎 cdh添加tez引擎 hive引擎增加

    在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 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.doc

    "基于CentOS7的Hadoop2.7.7集群部署+hive3.1.1+Tez0.9.1" 本文档旨在描述基于CentOS7的Hadoop2.7.7集群部署+hive3.1.1+Tez0.9.1的环境搭建过程。该文档涵盖了环境说明、软件版本说明、配置hosts和hostname、配置SSH...

    hive&tez.zip

    Apache Hive和Tez是大数据处理领域中的两个重要组件,它们在Hadoop生态系统中扮演着关键角色。本篇文章将深入探讨这两个工具以及它们如何协同工作。 Hive是基于Hadoop的数据仓库工具,它允许用户通过SQL(称为HQL,...

    第7集-Hadoop环境搭建 - linux(centos7) - 安装配置hive2.1.1.pdf

    ### Hadoop环境搭建之Hive 2.1.1配置详解 #### 一、概述 在构建大数据处理环境时,Apache Hive 是一个重要的组件,它提供了SQL查询功能,使用户能够方便地对存储在Hadoop文件系统(HDFS)中的大规模数据集进行数据...

    CDH6.3.2集成tez

    ### CDH6.3.2集成tez #### 概述 Cloudera Distribution Including Apache Hadoop (CDH) 是一款由 Cloudera 公司提供的企业级大数据平台,它包含了 Hadoop 生态系统中的核心组件和服务。Tez 是一个支持复杂数据处理...

    PyPI 官网下载 | soda-sql-hive-2.1.0b5.tar.gz

    通过这些文件,我们可以深入了解Soda SQL如何与Hive集成,以及如何配置和使用该库进行数据质量检查。 1. **核心组件**:Soda SQL的核心组件包括数据扫描器(Scanner)、数据验证器(Validator)和报告生成器...

    Hive_1.2.1_Tez_0.9.1安装包.rar

    Hive和Tez是大数据处理领域中的两个重要组件,它们在数据仓库和分析工作中发挥着关键作用。Hive是基于Hadoop的数据仓库工具,能够将结构化的数据文件映射为一张数据库表,并提供SQL(HQL)接口进行数据查询和分析。...

    hive 驱动包 hive 链接 datagrip的驱动包

    而DataGrip是一款由JetBrains公司开发的强大数据库集成开发环境,支持多种数据库,包括Hive。当你需要在DataGrip中连接到Hive数据库时,就需要特定的驱动包来实现这个功能。本文将详细介绍如何使用Hive驱动包连接...

    SQuirreL连接hive2.1所需的全部jar驱动

    5. `tez-api.jar`和`tez-client.jar`:Tez是Hive 2.x默认的执行引擎,这些jar文件提供了Tez的API和客户端。 6. `thrift-server.jar`:Thrift是跨语言服务开发的框架,Hive使用它来提供服务接口。 7. `libthrift*.jar...

    HiveMRvsHiveTez:Hadoop 2.6.0 + Hive 1.2.0 + Tez 0.7.0 + Tez UI 0.7.0 + MySQL + BigFrame + Datahooks

    使用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位版本。 添加一个名为...

    hive-jdbc-2.1.0-standalone.jar

    hive-jdbc-2.1.0-standalone.jar

    ranger-2.1.0-hive-plugin.tar.gz

    《Ranger 2.1.0 Hive 插件详解》 在大数据安全领域,Apache Ranger 是一款不可或缺的工具,它提供了全面的权限管理和审计功能,适用于多种数据存储系统,包括 Hive。本文将深入探讨 Ranger 2.1.0 版本针对 Hive 的...

    hive-exec-2.1.0.jar

    hive-exec-2.1.0.jar

Global site tag (gtag.js) - Google Analytics