Amazon web services Tez执行引擎与Hive中的Mapreduce执行引擎

Amazon web services Tez执行引擎与Hive中的Mapreduce执行引擎,amazon-web-services,hive,mapreduce,tez,bigdata,Amazon Web Services,Hive,Mapreduce,Tez,Bigdata,Hive中的Tez引擎和Map Reduce引擎有什么区别?在哪个过程中使用哪个引擎更好(例如:连接、聚合?)Apache Tez与MapReduce插件兼容,但减少了磁盘访问量。Tez总是比MapReduce好 但是,也有一些系统比Hive+Tez更好,例如Spark SQL。Apache Tez与MapReduce插件兼容,但减少了磁盘访问量。Tez总是比MapReduce好 但是,也有比Hive+Tez更好的系统,例如Spark SQL。Tez是一个基于DAG的系统,它知道所有操作,因此在

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

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


但是,也有一些系统比Hive+Tez更好,例如Spark SQL。

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


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

Tez是一个基于DAG的系统,它知道所有操作,因此在开始执行之前会优化这些操作

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


Tez通常在MapReduce下运行,因此它只是一个MapReduce,优化的步骤较少且紧凑。

Tez是一个基于DAG的系统,它知道所有操作,因此在开始执行之前会优化这些操作

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

Tez通常在MapReduce下运行,因此它只是一个MapReduce,优化后的步骤更少且更紧凑。

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

  • 从文件-->一次磁盘访问中读取数据

  • 运行映射程序

  • 写入映射输出-->第二次磁盘访问

  • 运行洗牌和排序-->读取映射输出,第三次磁盘访问

  • 写入无序排列和排序-->为还原程序写入排序数据-->第四次磁盘访问

  • 运行还原程序,读取排序数据-->第五个磁盘输出

  • 写入还原器输出-->第六次磁盘访问

  • Tez的工作原理与Spark非常相似(Tez是Hortonworks在Spark之前创建的):

  • 执行计划,但无需从磁盘读取数据

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

  • 只有一个读和一个写

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

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

  • 从文件-->一次磁盘访问中读取数据

  • 运行映射程序

  • 写入映射输出-->第二次磁盘访问

  • 运行洗牌和排序-->读取映射输出,第三次磁盘访问

  • 写入无序排列和排序-->为还原程序写入排序数据-->第四次磁盘访问

  • 运行还原程序,读取排序数据-->第五个磁盘输出

  • 写入还原器输出-->第六次磁盘访问

  • Tez的工作原理与Spark非常相似(Tez是Hortonworks在Spark之前创建的):

  • 执行计划,但无需从磁盘读取数据

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

  • 只有一个读和一个写


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

    那么对于联接和聚合,哪一种更优越?我使用了Mapreduce,然后转向了Tez,但是发现在多个连接的情况下,Tez比Mapreduce花费更多的时间。那么对于连接和聚合,哪一个更好呢?我使用Mapreduce,然后转向Tez,但发现在多个连接的情况下,Tez比Mapreduce花费更多的时间。