【问题标题】:why mappers and reducers are allocated on hive tez?为什么映射器和减速器分配在 hive tez 上?
【发布时间】:2019-01-02 13:38:28
【问题描述】:

任何人都可以解释一下,即使在 TEZ 中运行 hive 查询,但分配了 Mappers 和 Reducers?

在 Tez 引擎中运行仍然使用 MR 引擎吗?

【问题讨论】:

    标签: hadoop hive mapreduce apache-tez


    【解决方案1】:

    当然,它使用相同的 Map-Reduce 原语,但除此之外,Tez 将所有任务表示为单个 DAG。这样可以对其进行优化并消除不必要的步骤。

    例如这个查询:

    SELECT DeptName, COUNT(*) as c FROM EmployeeTable
    GROUP BY DeptName ORDER BY c;
    

    在 MR 上,它将执行两个 MR 作业,将中间结果保存到 HDFS。

    Map-Reduce 要求对每个 Map 任务的输出进行本地排序。 当不需要排序时,这是不必要的开销。 Tez 通过消除 map-reduce 中的强制性步骤来增加任务行为的灵活性。

    查询越复杂,Tez 带来的好处就越大。 TEZ 将查询表示为单个作业的 DAG(有向无环图),并消除了不必要的步骤,例如对持久存储的读/写、对每个 Map 的输出进行排序,还可以重用容器。 Tez 始终是最佳选择,对于简单查询它不会比 MR 差,而对于复杂查询则更好

    【讨论】:

      猜你喜欢
      • 2019-01-31
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      相关资源
      最近更新 更多