Tez执行引擎与Hive中的Mapreduce执行引擎

时间:2017-01-13 09:13:12

标签: amazon-web-services hive mapreduce tez bigdata

Hive中的Tez引擎和Map Reduce引擎有什么区别,哪个引擎更适合使用哪个引擎(例如:连接,聚合?)

3 个答案:

答案 0 :(得分:1)

Apache Tez插件与MapReduce兼容,但减少了磁盘访问量。 Tez总是优于MapReduce。

但是,还有比Hive + Tez更好的系统,例如Spark SQL。

答案 1 :(得分:1)

Tez是一个基于DAG的系统,它以一种在开始执行之前优化这些操作的方式了解所有操作。

MapReduce模型简单地说明任何计算都可以通过两种计算步骤来执行 - 映射步骤和缩减步骤。一对map和reduce对数据进行一级聚合。复杂计算通常需要多个这样的步骤。

Tez通常在MaprReduce下运行,所以它只是一个MapReduce优化,步骤更少,更紧凑。

答案 2 :(得分:0)

Tez是DAG(有向无环图)体系结构。典型的Map reduce作业具有以下步骤:

  1. 从文件读取数据->一次磁盘访问

  2. 运行映射器

  3. 写入映射输出->第二个磁盘访问

  4. 运行随机播放和排序->读取地图输出,第三次访问磁盘

  5. 写入随机播放和排序->为减速器写入已排序的数据->第四磁盘访问

  6. 运行reducers读取排序的数据->第五张磁盘输出

  7. 写reducer输出->第六次磁盘访问

Tez的工作方式与Spark非常相似(Tez是由Hortonworks在Spark之前创建的):

  1. 执行计划,但无需从磁盘读取数据。

  2. 一旦准备好进行一些计算(类似于spark中的操作),请从磁盘获取数据并执行所有步骤并产生输出。

只有一读和一写。

通过不多次访问磁盘来提高效率。中间结果存储在内存中(不写入磁盘)