AmazonAmazon Data Engineer Associate DEA-C01 Certification
·CN
·更新于 2 Aug 2026
一家银行收集大批量事务数据,并使用 PutRecord 将其传输到 Amazon Kinesis Data Streams。在某些时候会发生网络中断,数据工程师需要跨处理管道实现精确一次(exactly-once)交付语义。哪种方法可以实现这一目标?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 设计应用程序,使其能够在处理过程中通过在源头为每条记录嵌入一个唯一 ID 来删除重复项。.
为什么这是答案
当网络中断导致数据重传时,Kinesis Data Streams 默认提供至少一次(at-least-once)交付语义,这意味着可能会出现重复数据。为了实现精确一次(exactly-once)交付,最有效的方法是在数据处理管道中处理重复项。在源头为每条记录嵌入一个唯一 ID(例如 UUID 或业务主键与时间戳的组合)允许下游消费者(如 Apache Flink 应用程序)识别并删除重复的记录,从而确保每条记录只被处理一次。
其他选项:
更新检查点配置可以帮助防止重复处理已成功处理的事件,但不能解决由于源头重传而导致的重复摄取问题。
设计数据源以避免多次摄取事件在网络中断等不可控因素下难以保证,并且不能解决已摄取重复数据的问题。
停止使用 Kinesis Data Streams 并改用 Amazon EMR 是一种过度且不必要的解决方案,因为 Kinesis Data Streams 结合适当的去重策略可以满足要求。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 →
无需银行卡