Я работаю над ручным управлением смещением в Кафке, используя spark-streaming-kafka-0-8_2.11
org.apache.spark
искровой потокового-Кафка-0-8_2.11
2.1.0
Начиная с Kafka-0-10, в документации сказано, что мы можем зафиксировать смещения, используя следующий код.
OffsetRange[] offsetRanges = ((HasOffsetRanges) rdd.rdd()).offsetRanges();
((CanCommitOffsets) stream.inputDStream()).commitAsync(offsetRanges);
Но я не могу понять, как фиксировать смещения с помощью kafka-0-8. Я мог получить диапазоны смещения, но не мог видеть CanCommitOffsets
API. Кажется, это было введено только из kafka-0-10.
Я не хочу использовать Zookeeper / HBase / Checkpoint для управления смещениями.