在没有实际执行的情况下分析HiveQL查询的运行时特征

时间:2014-06-18 14:52:44

标签: hadoop hive hiveql

如果没有(a)执行查询或(b)获取结果,如何确定HiveQL查询的近似运行时间?

2 个答案:

答案 0 :(得分:1)

HIVE命令EXPLAIN提供查询的执行计划。只需在查询之前添加关键字EXPLAIN并执行它。

否则,您可以返回查询中的记录计数,而不是返回结果。这可能会提供对执行时间的一些了解。

答案 1 :(得分:0)

正如@visakh所提到的那样"解释"给出了执行计划。然而,这是神秘的,并没有给出执行时间。您将不得不对解释的(可能丰富的)输出进行大量分析,以获得您正在寻找的信息。

跑步"分析"在hive表帮助但仍然没有使解释用户友好。 "解释"我的团队是前任主要雇主要求HortonWorks改进的。

但是我不同意" count"接近评论:"计数"通常需要花费与运行查询本身相同的时间。在必须获取所有数据并执行各种过滤和聚合操作以便返回计数之后。不幸的是,Hive不够聪明,不能放弃"排序/订购"计算时的步骤 - 所以你最终基本上支付了整个"价格"查询。