相关疑难解决方法(0)

athena.getQueryExecution 会返回 RUNNING 状态 1 分钟以上,即使历史记录说该作业花了 4 秒

我正在使用 typescript 和 aws-sdk 编写一个节点应用程序来调用 Athena。有时,对 Athena 的调用会在等待 Athena 响应一分钟后超时。我不明白的是,如果我转到 AWS 控制台并查看 Athena History 选项卡,它说我的查询需要 4 秒才能成功,但在我的代码中,它运行了超过一分钟等待响应。我希望我的代码中有什么地方做错了。

myFunct... {
    const athena = getAthena();

    const startQueryExecutionResponse: StartQueryExecutionOutput = await athena.startQueryExecution(params).promise();

    let status = "UNKNOWN";
    do { 
        await sleep(1000);
        status = await getQueryStatus(athena, startQueryExecutionResponse);  
    } while (status === "QUEUED" || status === "RUNNING");

    return await athena.getQueryResults(startQueryExecutionResponse as GetQueryResultsInput).promise();
};

const sleep = (ms: number) => {
    return new Promise(resolve => {
        setTimeout(resolve, ms)
    })
};

const getQueryStatus = async (athena: AWS.Athena, startQueryExecutionResponse: …
Run Code Online (Sandbox Code Playgroud)

javascript typescript aws-sdk amazon-athena aws-sdk-js

9
推荐指数
1
解决办法
1618
查看次数

如何加快 Amazon Athena 查询执行速度?

我正在使用 Athena 查询执行从 Glue 表中检索数据。爬网程序每小时使用 S3 存储桶更新此表,该存储桶由 Kinesis Firehose 不断更新。

我的 Node.js 服务器使用 Athena 执行基本查询。但我意识到某些请求花费的时间太长,以至于我的服务器抛出服务器请求超时。

我检查了 Athena 中的查询历史记录,发现一些最新请求的状态已排队,这意味着它们正在等待执行。它们的运行时间都很短,在 1 到 5 秒之间。很明显,问题不在于运行时导致超时,而在于队列。

如何加快这些查询的执行速度?或者如何增加并发执行限制,以便 Athena 立即执行它们?

performance amazon-web-services amazon-athena aws-glue

5
推荐指数
1
解决办法
4514
查看次数