Apache-Tez(阿帕奇太子)初识

先看官网介绍:

地址在这:https://tez.apache.org/

介绍

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友好的。而且资料不是特别多,我只能说这么多了,兄台看着办。

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章