KafkaUtils.createDirectStream()如何实现完全一次语义?

时间:2018-12-29 07:52:12

标签: apache-spark apache-kafka spark-streaming

不确定我对这个问题的理解是否正确:

使用KafkaUtils.createStream(),程序本身就是一个被动接收数据的使用者。由于Kafka仅保留自己的偏移量,因此Kafka不知道程序在哪里消费。 因此,如果Kafka发生故障,它可能会重新发送已发送到接收方的数据,从而导致数据重复。

尽管使用KafkaUtils.createDirectStream(),程序本身直接使用内部Kafka分区,所以它知道它在哪里使用,无论它本身还是Kafka失败,它都可以从正确的位置。

我想确认我的理解是否正确。任何帮助表示赞赏。

0 个答案:

没有答案