配置单元命令行选择查询所用时间不正确,如果它不是在后台Map减少作业

ecbunoof  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(203)

我正在运行配置单元查询,如下所示

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

状态:正在运行(在应用程序id为x的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)

当涉及map reduce时,上述计时看起来很准确。但是当我运行一个如下的简单查询时

select group_name from table_name

所用时间:0.771秒,获取时间:14行
以上时间不正确。
此外,任何关于如何更准确地度量查询时间的想法都将受到极大的赞赏。
提前谢谢

pbwdgjma

pbwdgjma1#

从shell脚本测量时间。有 time 命令。
打电话给你的 hive 命令如下:

time hive -e 'select group_name from table_name;'

时间命令输出三次: real , user 以及 sys ```
real 0m0.007s
user 0m0.000s
sys 0m0.005s

你可能想知道的是真实的。真正的是挂钟时间-从通话开始到结束的时间。这是所有经过的时间,包括其他进程使用的时间片和进程被阻塞的时间(例如,如果它正在等待i/o完成)。
另请参阅这个问题:如何从'time'命令中获得实时值?

相关问题