Hive命令行如果非映射在后台减少作业,则选择查询时间不正确

时间:2017-06-30 15:14:23

标签: hive

我正在运行hive查询,如下所示

Select count(*),group_name from table_name group by group_name;

状态:正在运行(在应用程序ID为XXXX的YARN群集上执行)

--------------------------------------------------------------------------------
        VERTICES      STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
--------------------------------------------------------------------------------
Map 1 ..........   SUCCEEDED     54         54        0        0       0       0
Reducer 2 ......   SUCCEEDED     13         13        0        0       0       0
--------------------------------------------------------------------------------
VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 24.93 s
--------------------------------------------------------------------------------
OK
Result
Time taken: 26.786 seconds, Fetched: 10 row(s)

当涉及地图缩减时,上述时间看起来准确。但是当我运行如下的简单查询时

select group_name from table_name

所用时间:0.771秒,取得:14行

上述时间不正确。

也非常感谢如何更准确地测量查询时间。

提前致谢

1 个答案:

答案 0 :(得分:0)

从shell脚本测量时间。有time命令。

像这样调用hive命令:

time hive -e 'select group_name from table_name;'

时间命令输出三次:realusersys

real        0m0.007s
user        0m0.000s
sys         0m0.005s 

真实是您可能想知道的。 真实是挂钟时间 - 从通话开始到结束的时间。这是所有已用时间,包括其他进程使用的时间片和进程花费的时间(例如,如果它等待I / O完成)。

另请参阅此问题:How do I get just real time value from 'time' command?