Потребитель Kafka для чтения данных из темы, когда известно о смещении от и до - PullRequest
0 голосов
/ 20 февраля 2019

Могу ли я узнать, может ли потребитель kafka читать определенные записи, когда известны смещения разделов темы и до них?

Вариант использования в моем приложении для потоковой передачи с плавающей точкой, некоторые партии не обрабатываются (вставляются в таблицу)в этом случае я хочу читать только пропущенные данные.Я сохраняю детали темы, то есть разделы и смещения.

Может кто-нибудь сообщить мне, если это может быть достигнуто чтением из темы, когда смещения известны.

1 Ответ

0 голосов
/ 20 февраля 2019

Если вы хотите обработать набор сообщений, который определяется начальным и конечным смещением в потоковой передаче искры, вы можете использовать следующий код:

val kafkaParams = Map[String, Object](
  "bootstrap.servers" -> "localhost:9092",
  "key.deserializer" -> classOf[StringDeserializer],
  "value.deserializer" -> classOf[StringDeserializer],
  "group.id" -> "groupId"
)
val offsetRanges = Array(
  OffsetRange("input", 0, 2, 4) // <-- topic name, partition number, fromOffset, untilOffset
)

val sparkContext: SparkContext = ???
val rdd = KafkaUtils.createRDD(sparkContext, kafkaParams.asJava, offsetRanges, PreferConsistent)
// other proccessing and saving

Более подробную информацию о потоковой интеграции интеграции и Kafka можно найти:https://spark.apache.org/docs/2.4.0/streaming-kafka-0-10-integration.html

...