Apache-Tez(阿帕奇太子)初识
先看官网介绍:地址在这:https://tez.apache.org/介绍ApacheTEZ®项目旨在构建一个应用程序框架,该框架允许使用复杂的有向无环图来处理数据。它当前构建在Apache Hadoop YARN之上。Tez的2个主要设计主题是:通过以下方式增强最终用户的能力:富有表现力的数据流定义API灵活的输入-处理器-输出运行时模型不可知数据类型...
先看官网介绍:
介绍
ApacheTEZ®项目旨在构建一个应用程序框架,该框架允许使用复杂的有向无环图来处理数据。它当前构建在Apache Hadoop YARN之上。
Tez的2个主要设计主题是:
- 通过以下方式增强最终用户的能力:
- 富有表现力的数据流定义API
- 灵活的输入-处理器-输出运行时模型
- 不可知数据类型
- 简化部署
- 执行性能
- 与Map Reduce相比性能提升
- 最佳资源管理
- 在运行时计划重新配置
- 动态物理数据流决策
通过允许诸如Apache Hive和Apache Pig之类的项目运行复杂的DAG任务,Tez可以用于处理数据,该数据以前需要执行多个MR作业,而现在在单个Tez作业中,如下所示。
看不懂没关系,我也看不懂。只能看懂点皮毛,那我们就来讲讲这一点皮毛吧。
首先来看看它的定位,(问题1)这是个什么东西?
Tez是一个计算引擎。可以运行于YARN之上。YARN你知道的吧?它是hadoop在2.x版本中进化出的一个通用资源调度器,可以用来跑MR程序、Spark程序、Storm程序、Flink程序、Storm程序当然还有今天的主角Tez程序。
(问题2)为啥要用它?
和MapReduce相比更快,和Spark相比吃更少的内存。
由于DAG运算流程的优化,性能比MapReduce好,速度比它快。再者它比spark对内存的依赖程度低一些。在配置有限的情况下,构建数仓选择计算引擎时是个比较折衷的选择。
(问题3)怎么用?
部署:具体看这里
https://tez.apache.org/install.html
(我警告你,你别喷我啊!这不是懒,是对你负责!)
使用:
1.在其之上部署应用框架使用它,例如hive、pig等等。
2.直接使用java,调用其API进行操作。下面这张图是我给你截的API的图。地址在这里:
http://tez.apache.org/releases/0.5.0/tez-api-javadocs/org/apache/tez/dag/api/package-summary.html
API:
建议:据我短浅的见识,Tez还是主要用来作为Hive和Pig的计算引擎比较好用。因为它的API感觉是不如Spark、Flink友好的。而且资料不是特别多,我只能说这么多了,兄台看着办。
更多推荐
所有评论(0)