一家公司通过 Amazon Kinesis Data Firehose 将 AWS WAF 日志发送到 Amazon S3。Amazon Athena 查询每天运行一次,以检索前 24 小时的 WAF 日志。尽管每日日志量稳定,但查询运行时间却随着时间的推移而逐渐增加。您需要防止查询运行时间继续增加,同时最大限度地降低运营开销。哪种解决方案符合这些要求?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 修改 Kinesis Data Firehose 配置和 Athena 表定义,按日期和时间对数据进行分区。更改 Athena 查询以查看相关分区。.
为什么这是答案
正确答案通过对数据进行分区来优化 Athena 查询性能。Kinesis Data Firehose 可以配置为按日期和时间将数据写入 S3,这样 Athena 在查询时只需扫描相关分区,而不是整个数据集。这显著减少了扫描的数据量,从而缩短了查询运行时间。同时,修改 Athena 表定义以识别这些分区,并调整查询以利用分区剪枝,可以确保查询效率。此方法操作开销低,因为 Firehose 和 Athena 本身支持分区功能。 其他选项的不足之处: 创建 Lambda 函数整合日志会增加额外的操作复杂性和成本,并且可能无法有效解决查询扫描整个数据集的问题。 将日志发送到不同的 S3 存储桶并不能直接减少 Athena 扫描的数据量,因为 Athena 仍然需要处理所有相关存储桶中的数据。 为 Amazon Redshift 创建外部表并配置 Redshift Spectrum 引入了 Redshift 集群的成本和管理开销,这超出了“最大限度地降低运营开销”的要求。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡