我有一个在 Hue 中成功运行的查询 CREATE TABLE foobar AS SELECT ...
(返回的状态是 Inserted 986571 row(s)
)并需要几个秒完成。然而,在 Cloudera Manager 中,它的状态 - 超过 10 分钟后 - 仍然显示 Executing
。
这是 Cloudera Manager 中的错误还是此查询实际上仍在运行?
最佳答案
当 Hue 执行查询时,它会使查询保持打开状态,以便用户可以按照自己的节奏对结果进行分页。 (当然,这种行为对 DDL 语句不是很有用。)这意味着 Impala 仍然认为查询正在执行,即使它没有主动使用 CPU 周期(请记住它仍在占用内存!)。如果明确告知,或者页面/ session 关闭时,Hue 将关闭查询,例如使用 hue 命令:
> build/env/bin/hue close_queries --help
请注意,Impala 有一个查询选项,可以在一段时间后自动“超时”查询,请参阅 query_timeout_s . Hue 默认将此设置为 10 分钟,但您可以在 hue.ini 设置中覆盖它。
需要注意的一件事是,当查询“超时”时,它们会被取消但不会关闭,即查询将保持“运行中”并带有已取消
状态。这样做的原因是用户(或工具)可以继续观察查询元数据(例如查询配置文件、状态等),如果查询完全关闭,这些元数据将不可用,因此从 impalad 注销。不幸的是,这些被取消的查询可能仍然持有一些不可忽略的资源,但这将通过 IMPALA-1575 修复。 .
关于hadoop - Impala 查询停留在执行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259008/