Impala 查询卡在执行状态

Impala query stuck in status Executing

我有一个在 Hue 中成功运行的查询 CREATE TABLE foobar AS SELECT ...(返回的状态是 Inserted 986571 row(s)),需要几秒钟才能完成。但是,在 Cloudera Manager 中,它的状态 - 超过 10 分钟后 - 仍然显示 Executing.

这是 Cloudera Manager 中的错误吗这个查询实际上仍然是运行?

当 Hue 执行查询时,它会使查询保持打开状态,以便用户可以按照自己的节奏分页浏览结果。 (当然,这种行为对 DDL 语句不是很有用。)这意味着 Impala 仍然认为查询正在执行,即使它没有主动使用 CPU 循环(记住它仍然保持记忆!)。如果明确告知,或者 page/session 关闭时,Hue 将关闭查询,例如使用 hue 命令:

> build/env/bin/hue close_queries --help

注意 Impala 有一个查询选项,可以在一段时间后自动 'timeout' 查询,参见 query_timeout_s。 Hue 默认将此设置为 10 分钟,但您可以在 hue.ini 设置中覆盖它。

需要注意的一点是,当查询'time out'时,它们是取消而不是关闭,即查询将保持 "in flight" 状态 CANCELLED。这样做的原因是用户(或工具)可以继续观察查询元数据(例如查询配置文件、状态等),如果查询完全 closed[=28=,则这些元数据将不可用] 并因此从 impalad 中注销。不幸的是,这些被取消的查询可能仍然持有一些不可忽略的资源,但这将通过 IMPALA-1575.

修复

更多信息:Hive and Impala queries life cycle