1,Tez是什么?
Tez是Hortonworks公司开源的一种新型基于DAG有向无环图开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能,看下面一张图,就能说明问题:
2,Tez能干什么?
上图已经说明问题了,如果将我们的Hive,或者Pig运行在Tez之上,那么速度会有几倍的提升,当然这仅仅是相对MapReduce来讲的,因为Spark这种分布式内存计算框架才是未来的的主流,所以让大家熟悉了解一下这个东西也并无坏处。
当我们的程序有很多复杂的操作时,例如,过滤,分组,排序,合并,聚合等,传统的MR是会每一个阶段都会落地操作的,当然开发者当初这么设计,也并不是没有道理的,只不过随着时代进步,人们追求更高,更快的性能或速度时,这个落地操作,拖了整体处理的性能,Tez能够合并多个阶段的过程,直接无须落地,就能进行下一阶段的任务处理,这是提速的一种不错的方法,当然spark直接利用内存做迭代运算,速度更是快的没法说,当然前提是你有足够大的内存,如果你没有那么大的内存,性能其实与普通MR是差不多的。
3,下面进入正题,看看如何使Pig运行在Tez之上。
Pig最新的版本,Pig0.15已经支持Pig On Tez的模式运行,使用方法,也非常简单
不需要你下载Tez的源码,然后编译大半天,最后还有可能失败,因为Pig直接内置了Tez的处理jar包
(1)在装好的Hadoop的etc/hadoop/下面
直接新建一个 vi tez-site.xml
<configuration>
<property>
<name>tez.lib.uris</name>
<value>/user/tez</value>
</property>
</configuration>
(2)在hdfs上新建一个/user/tez目录
(3)拷贝/ROOT/server/pig/lib/h2下,以tez开头的所有的jar包上传到/user/tez下面
除此之外,还需要guice3.0所有的jar包
以及:commons-collections4-4.0.jar包
至此,所有的jar包已经齐全
(4)Tez vs MapReduce
同样一个pig脚本,分别运行两种任务模式
pig t.pig MapReduce模式
pig -x tez t.pig Tez模式
MapReduce的截图如下:
Tez任务耗时截图:
可以看出Tez下,任务执行的非常之迅速,堪比Spark的速度了,
最后再记录一个问题:
由于我的
dfs.datanode.max.xcievers打开的文件数,设置的太大了(65535),导致上述的异常发生,这个
属性的含义是:
相当于linux下的打开文件最大数量,文档中无此参数,当出现DataXceiver报错的时候,需要调大。默认256
当修改为2048后,重启启动集群再次,跑Tez作业时,没有上述的异常发生了
最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!
- 大小: 128.7 KB
- 大小: 35 KB
- 大小: 30.6 KB
- 大小: 38.7 KB
- 大小: 25 KB
- 大小: 44.7 KB
- 大小: 5.7 KB
分享到:
相关推荐
### CDH6.3.2集成tez #### 概述 Cloudera Distribution Including Apache Hadoop (CDH) 是一款由 Cloudera 公司提供的企业级大数据平台,它包含了 Hadoop 生态系统中的核心组件和服务。Tez 是一个支持复杂数据处理...
在CDH环境中集成Tez引擎以提升Hive的性能,主要涉及以下几个关键步骤和知识点: 1. **Hadoop版本匹配**: CDH版本需要与Tez版本相匹配。在这个例子中,CDH版本是6.2.0,而Tez版本是0.9.1。确保使用兼容的Hadoop...
5. **集成Hive**:为了在Hive中利用Tez UI,还需要在Hive的配置文件(如`hive-site.xml`)中设置`tez.ui.history.url.base`属性,指向Tez UI的URL。 6. **测试与验证**:运行一个Hive查询并检查Tez UI是否能正确...
1. 解压 tar 包 `tar –zxvf ./tez/tez-dist/target/tez-0.7.0.tar.gz` 和 `tar –zxvf ./tez/tez-dist/target/tez-0.7.0-minimal.tar.gz`。 2. 将 tez-0.7.0 上传到 HDFS `hadoop fs –mkdir /apps` 和 `hadoop fs ...
Tez是与Hadoop紧密集成的,因此需要与你的Hadoop版本兼容。你可以通过以下步骤进行安装: 1. **解压文件**:使用命令`tar -zxvf apache-tez-0.9.2-bin.tar.gz`来解压压缩包,这将创建一个名为`apache-tez-0.9.2-bin...
Tez是Hadoop生态系统中的一个开源任务执行框架,它由Apache Software Foundation开发,用于提高Hive、Pig等数据处理工具的性能。 【描述】"tez-0.10.1-SNAPSHOT-minimal.tar.gz" 指示这是一个特定版本(0.10.1)的...
5. **tez-mapreduce-0.9.2.jar**:这是TEZ与MapReduce集成的模块,使得在TEZ中可以无缝使用MapReduce作业。 6. **tez-runtime-internals-0.9.2.jar**:包含了TEZ运行时内部实现的类库,用于处理任务之间的通信和...
在CDH6.3.2中,Tez 0.9.1版本经过编译,意味着它已经针对这个特定的Hadoop发行版进行了优化,以确保与CDH组件的无缝集成。 在压缩包文件中,我们可以看到多个与Tez相关的JAR文件,它们是Tez运行所需的关键组件: 1...
`tez-0.10.1.zip` 压缩包为开发者提供了编译好的 Tez 版本,包括 Tez UI,使得用户能够便捷地集成和管理 Tez 作业,进行性能监控和故障排查。对于需要处理大量数据的项目,了解和掌握 Tez 是提升数据处理效率的关键...
这种设计让 Tez 能够充分利用集群资源,同时避免资源浪费。 **5. Shuffle Handler 和 Data Movement** Tez 引入了高效的 Shuffle Handler 机制来处理数据交换。它通过本地化和缓存中间结果来减少网络传输,提高了...
Tez通过定义数据处理任务以及它们之间数据交换的通用接口,让不同的数据处理工具可以利用Tez框架提供的底层服务来执行,这不仅提高了效率,也降低了开发复杂性。 Tez的引入不仅对于Hadoop生态系统有着重要的意义,...
【标题】"tez-0.9.2.tar.gz"是一个包含Tez 0.9.2版本的压缩包,该版本是针对Hadoop 3.2.1平台编译的。Tez是一个由Apache软件基金会开发的开源...用户可以利用提供的API和测试工具来集成和调试Tez,以满足其特定的需求。
Apache Hive和Tez是大数据处理领域中的两个重要组件,它们在Hadoop生态系统中扮演着关键角色。本篇文章将深入探讨这两个工具以及它们如何协同工作。 Hive是基于Hadoop的数据仓库工具,它允许用户通过SQL(称为HQL,...
在实际应用中,Tez常用于Apache Hive和Pig等大数据处理工具,用于加速SQL查询和数据转换任务。由于其高度可扩展性和灵活性,Tez也常被用作大数据分析和ETL(提取、转换、加载)流程中的基础组件。 总的来说,Tez ...
Apache Tez 是一个高度可扩展和...然而,为了充分利用其潜力,开发者和管理员需要深入理解Tez的工作原理,以及如何与Hadoop生态系统中的其他组件集成。在面对不同发行版的兼容性问题时,耐心和细致的调试是必不可少的。
【tez.tar.gz】是一个压缩包文件,其中包含与Tez相关的多个组件和库,用于在Hadoop生态系统中执行复杂的并行数据处理任务。Tez是Apache Hadoop的一个开源框架,设计用来提供比MapReduce更高效、更灵活的作业执行模型...
标题中的"tez-0.10.1-SNAPSHOT.tar.gz"是一个开源项目Tez的特定版本(0.10.1)的源码压缩包。Tez是由Apache Hadoop社区开发的一个数据处理框架,它扩展了MapReduce模型,提高了大数据处理的效率和灵活性。SNAPSHOT...
- 高性能数据分析,如使用Pig或Hive时启用Tez优化。 - 实时查询服务,如使用Impala或Hawq等SQL-on-Hadoop工具。 综上所述,Tez在Hadoop-2.7.1中扮演着提升大数据处理效率的重要角色,通过其灵活的任务执行模型和...
综合以上信息,我们可以看出 Tez 0.9.1-minimal.tar.gz 是一个针对 CDH6.2 平台的轻量级 Tez 包,适用于快速集成到 Hadoop 生态系统中,尤其是与 Hive 配合使用,以提升大数据查询效率。然而,缺少 Tez UI 可能会...