HIVE_CURSOR_ERROR: Please reduce your request rate

HIVE_CURSOR_ERROR: Please reduce your request rate

我 运行 使用 CloudTrail 日志对我的 s3 存储桶进行简单查询。桶很大,大约 1 分 45 秒后出现错误

HIVE_CURSOR_ERROR: Please reduce your request rate.

有没有办法在 Athena 中限制对我的 s3 存储桶的请求率?

SELECT *
FROM default.cloudtrail_logs_cloudtraillog
WHERE eventname = 'DeleteUser' AND awsregion = 'us-east-1'

所以我总结一下AWS建议的解决方案。 None 他们很棒,我想知道为什么 AWS 不限制他们的结束,而是抛出错误。

默认情况下,S3 会自动扩展以支持非常高的请求率。当您的请求率正在扩展时,S3 会根据需要自动对您的 S3 存储桶进行分区以支持更高的请求 rates.However,有时它仍然会出错。所以他们建议等待(不建议时间范围)给 S3 足够的时间根据它收到的请求率自动分区你的桶。

他们还建议:

1) 使用 S3distcp 实用程序将小文件组合成更大的对象。 https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html

2) 分区https://docs.aws.amazon.com/athena/latest/ug/partitions.html

我从 AWS Support 那里得到了同样的答案。由于我进行的是一次性分析,因此我最终编写了一个脚本,将一小段日期范围内的日志复制到一个单独的存储桶中,并使用 Athena 来分析较小的数据集。