使用 Flink 聚合来自 Kafka 的数据



我正在尝试编写一个 Flink 应用程序,该应用程序将从 Kafka 读取数据并通过自定义 Hbase 接收器在 Hbase 中增加计数。我正在研究容错,我看到 Flink 将从最新检查点的偏移量重新启动作业。这是否意味着我的 Hbase 接收器会产生重复项?我是否必须实现自己的重复数据删除逻辑?

HBase sink 会产生重复项吗?

这取决于何时将数据插入 HBase。

如何实现恰好一次语义?

根据您的描述,您需要的是端到端恰好一次语义,这意味着数据可以多次处理,但插入只能执行一次。查看 CheckpointListener 接口,方法通知检查点完成时执行,这是将数据提交到 HBase 的好时机。

有关详细信息,请查看此文档。 https://flink.apache.org/features/2018/03/01/end-to-end-exactly-once-apache-flink.html

相关内容

  • 没有找到相关文章

最新更新