2017-11-10 1 views
0

Ich verwende die Java Spark API, für die KafkaUtils.createDirectStream, möchte ich den Offset verfolgen. Es gibt einen Parameter fromOffset, der den Offset in Partitionen des Kafka-Themas aufzeichnet. für den ersten Durchlauf habe ich keine Ahnung, wie viele Partitionen ich haben werde, wie kann ich dann diesen Parameter einstellen? Und muss ich "Auto.offset.reset" in Kafka Parameter setzen? Wenn ja, wird es meinen Code beeinflussen, um von einem bekannten Offset zu erholen?Spark Streaming Kafka anfänglichen Offset

+0

Wenn Sie nicht wissen, die Anzahl der Partitionen, woher wissen Sie, Offset für jede Partition zu starten? – Mariusz

+0

Wenn ich die "auto.offset.reset" auf die kleinste oder größte, kann ich immer noch die Partition und Offset-Informationen von jedem roten – peng

Antwort

0

Sie haben zwei Möglichkeiten:

  • falls Sie keine Informationen über partions haben, bieten nicht, dass param zu createDirectStream. Es gibt mehrere Implementierungen der createDirectStream-Methode. In diesem Fall oder frühestes oder spätestes Offset für jede topicPartition wird verwendet (basierend auf dem auto.offset.reset param)

  • Sie können die Partitionen, Versätze, die übliche kafka API verwenden. Zum Beispiel aussehen How to find the offset range for a topic-partition in Kafka 0.10?

+0

Vielen Dank! Gibt es überhaupt Kafka 0.8? als 0.10 ist experimentelle API – peng

Verwandte Themen