内容要点:
语义定义:At-most-once(可能丢)、At-least-once(可能重)、Exactly-once(精确一次)。
实现Exactly-Once三要素:
可重放源:如Kafka(可以回溯Offset)。
Checkpointing:保存应用状态和已处理Offset到可靠存储(如HDFS)。
幂等性Sink:目标系统支持幂等写入(如用唯一Key去重),或使用事务性写入(如Delta Lake的两阶段提交)。
foreachBatch的陷阱:foreachBatch本身只保证At-least-once,需配合幂等操作实现Exactly-once。
