Python 如何获取通过sqlalchemy执行的impala查询的查询id

Python 如何获取通过sqlalchemy执行的impala查询的查询id,python,sqlalchemy,impala,cloudera-manager,Python,Sqlalchemy,Impala,Cloudera Manager,我正在查询内部使用的黑斑羚 现在我想获取查询id,以便在Cloudera manager UI中监视此查询的进度 例如,如果我在控制台中使用imapalshell执行相同的查询 我明白了: [MYMACHINE:21001] > select * from table1 limit 2; Query: select * from table1 limit 2 Query submitted at: 2020-08-24 10:28:15 (Coordinator: http://MYMAC

我正在查询内部使用的黑斑羚

现在我想获取查询id,以便在Cloudera manager UI中监视此查询的进度

例如,如果我在控制台中使用imapalshell执行相同的查询

我明白了:

[MYMACHINE:21001] > select * from table1 limit 2;
Query: select * from table1 limit 2
Query submitted at: 2020-08-24 10:28:15 (Coordinator: http://MYMACHINE:25000)
Query progress can be monitored at: http://MYMACHINE:25000/query_plan?query_id=8646e69bf8aa9707:df03d6ff00000000
我需要记录此查询id 8646e69bf8aa9707:df03d6ff00000000


有什么方法可以使用sqlalchemy或任何其他库获取此信息吗?

Impyla不会直接公开此信息-您可以使用get_profile获取完整的查询配置文件,其中包括该信息-这似乎是我们可以向Impyla公开的内容,但我不知道这是否有助于解决更大的问题。我不太了解sqlalchemy层谢谢@TimArmstrong的回复。正如您所建议的,我可以通过
result.cursor.get\u profile()
访问impala的查询id。但这只有在查询成功时才起作用。如果由于某种原因失败,则会出现非类型错误。在出现错误的情况下,我可以获取查询\u id吗?我认为这是一个很好的观点,并且认为在将来扩展它是一个好主意-我创建它是为了跟踪它。Impyla不直接公开它-你可以使用get\u profile来获取完整的查询配置文件,其中包括它-看起来我们可以向Impyla公开一些东西,但我不知道是否可以这有助于解决更大的问题。我不太了解sqlalchemy层谢谢@TimArmstrong的回复。正如您所建议的,我可以通过
result.cursor.get\u profile()
访问impala的查询id。但这只有在查询成功时才起作用。如果由于某种原因失败,则会出现非类型错误。在出现错误的情况下,我可以获得查询id吗?我认为这是一个很好的观点,并且认为在将来扩展它是一个好主意-我创建它是为了跟踪这一点。
[MYMACHINE:21001] > select * from table1 limit 2;
Query: select * from table1 limit 2
Query submitted at: 2020-08-24 10:28:15 (Coordinator: http://MYMACHINE:25000)
Query progress can be monitored at: http://MYMACHINE:25000/query_plan?query_id=8646e69bf8aa9707:df03d6ff00000000