Leia o tópico Kafka em uma tarefa em lote do Spark

Estou escrevendo um trabalho em lotes Spark (v1.6.0) que lê de um tópico Kafka.
Para isso eu posso usarorg.apache.spark.streaming.kafka.KafkaUtils#createRDD no entanto, preciso definir os deslocamentos para todas as partições e também armazená-los em algum lugar (ZK? HDFS?) para saber por onde começar o próximo trabalho em lotes.

Qual é a abordagem correta para ler Kafka em umlote trabalho?

Eu também estou pensando em escrever umtransmissão trabalho, que lê deauto.offset.reset=smallest e salva o ponto de verificação no HDFS e, na próxima execução, começa a partir disso.

Mas, neste caso, como posso buscar apenas uma vez e parar a transmissãoapós o primeiro lote?

questionAnswers(1)

yourAnswerToTheQuestion