Q45 — AWS SAA-C03 第17章
第 45/89 题 | ← 返回第17章
Q1345. 一家零售公司将客户行为和会话活动存储在 Amazon DynamoDB 中。该公司希望在 Amazon Redshift 中运行 SQL 查询,以跟踪客户趋势并定期更新数据。该公司需要自动将数据复制到 Amazon Redshift,而无需开发或管理提取、转换和加载 (ETL) 管道。哪种解决方案能在满足这些要求的同时,将运营成本降至最低?
- A. 使用 AWS Glue 按计划运行 ETL 作业,从 DynamoDB 中提取数据并将数据加载到 Amazon Redshift 中。
- B. 将 DynamoDB Streams 与 AWS Lambda 函数结合使用,以近乎实时的方式向 Amazon Redshift 发送更新。
- C. 使用 Amazon Redshift Spectrum 查询从 DynamoDB 导出到 Amazon S3 的数据。
- D. 在 DynamoDB 和 Amazon Redshift 之间创建零 ETL 集成。 ✓
正确答案: D. 在 DynamoDB 和 Amazon Redshift 之间创建零 ETL 集成。
解析
正确答案是 D. 在 DynamoDB 和 Amazon Redshift 之间创建零 ETL 集成。解释:需求:公司需要将 DynamoDB 数据自动复制到 Amazon Redshift 以进行 SQL 查询,而无需开发或管理 ETL 管道(运营开销最小)。为什么选项 D 正确:零 ETL 集成:AWS 近期推出了 DynamoDB 和 Amazon Redshift 之间的零 ETL 集成,无需自定义 ETL 管道即可实现近乎实时的数据复制。完全托管:AWS 负责处理复制过程,从而降低运维开销(无需使用 AWS Glue、Lambda 或手动导出到 S3)。SQL 查询:数据复制完成后,即可使用 SQL 直接在 Redshift 中查询数据。其他选项错误的原因:A. 使用 AWS Glue 按计划运行 ETL 作业需要开发和管理 ETL 管道,增加运营成本。尚未完全自动化(需要调度和维护)。B. 将 DynamoDB Streams 与 AWS Lambda 函数结合使用需要自定义 Lambda 代码来处理数据流并将其加载到 Redshift 中,这增加了复杂性。仍然涉及一些 ETL 管理(错误处理、重试等)。C. 使用 Amazon Redshift Spectrum 查询导出到 Amazon S3 的数据。需要手动将数据从 DynamoDB 导出到 S3(例如,使用 DynamoDB Export 或 AWS Data Pipeline)。并非实时或自动化复制解决方案。结论:选项 D(零 ETL 集成)是最佳选择,因为它提供了从 DynamoDB 到 Redshift 的全自动、近乎实时的复制,无需 ETL 开发或管理,从而最大限度地减少了运营开销。