通常对于较小的查询(期望以交互方式获得结果,在几分钟内,而不是几小时内)Tez 性能更好,而对于批量查询(需要数小时),MR 作为执行引擎的性能是否更好?或者我们可以说无论查询类型如何,Tez 始终是最佳选择?
问问题
3451 次
1 回答
5
Tez 简化了小规模(低延迟)和大规模(高吞吐量)工作负载的处理。查询越复杂,TEZ 的好处就越大。对于由单个映射步骤组成的简单查询,它很可能根本没有区别,因为没有什么可优化的。TEZ 将查询表示为单个作业的 DAG(有向无环图),并消除了不必要的步骤,例如读取/写入持久存储、对每个 Map 的输出进行排序,还可以重用容器。Tez 始终是最好的选择,对于简单的查询,它不会比 MR 差,对于复杂的查询要好得多。考虑一下:对于 MR 和 TEZ,您必须调整不同的配置参数集,有很多 TEZ 特定和 MR 特定。选择 TEZ,即使在没有什么可优化的情况下,您也会简化生活。还,Hive-on-MR 已在 Hive 2 版本中弃用。
于 2016-08-25T10:35:33.010 回答