Hive 命令行 如果不是在后台执行 MapReduce 作业,则选择查询所花费的时间不正确

2024-03-22

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

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 行

上面的时间不正确。

此外,任何如何更准确地测量查询时间的想法都将不胜感激。

提前致谢


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

致电您的hive像这样的命令:

time hive -e 'select group_name from table_name;'

time 命令输出 3 次:real, user and sys

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

Real您可能想知道什么。Real是挂钟时间 - 从通话开始到结束的时间。这是所有经过的时间,包括其他进程使用的时间片和进程阻塞的时间(例如,如果它正在等待 I/O 完成)。

另请参阅这个问题:如何从“time”命令获取实时值? https://stackoverflow.com/q/3795470/2700344

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive 命令行 如果不是在后台执行 MapReduce 作业,则选择查询所花费的时间不正确 的相关文章

随机推荐