Athena API获取当前并发运行的查询

时间:2018-02-12 23:40:08

标签: amazon-athena

由于Athena Limit,我的系统出现故障。 Athena只能运行5个并发查询。

我的解决方案是,我希望我的系统检查当前没有在Athena中同时运行的查询,如果它小于5,那么我想执行我的查询,否则等待一段时间再检查。

是否有返回current no of queries running concurrently in Athena

的Athena API

请注意 我可以通过我想保留的请求来增加限制作为我的最后一个选项加上它不是可扩展的解决方案

3 个答案:

答案 0 :(得分:1)

实现此目标的唯一方法是通过多个AWS API调用。

首先,您必须调用aws athena list-query-executions方法来获取所有最近的执行ID。

之后,您可以通过以下调用查询这些ID的状态:

aws athena batch-get-query-execution --query-execution-ids {ids}

答案 1 :(得分:0)

我试图找到一个解决方案,但到目前为止没有运气。但是我想要实现一些东西 -

运行历史记录,如命令并获取查询历史记录或可用查询:请参阅https://docs.aws.amazon.com/cli/latest/reference/athena/ ListQueryExecutions)并使用(解析)此信息来了解查询的状态并检查是否有任何查询正在运行。

答案 2 :(得分:0)

您还可以重试限制例外。使用带抖动的指数退避可以很好地在后续工作中成功查询。

参见相关的AWS blog