Я пишу пакетное задание Spark (v1.6.0), которое читает из темы Kafka.
Для этого я могу использовать org.apache.spark.streaming.kafka.KafkaUtils#createRDD
, однако мне нужно установить смещения для всех разделов, а также нужно где-то их хранить (ZK ? HDFS?), Чтобы знать, с чего начать следующее пакетное задание.
Как правильно читать данные Kafka в пакетном задании?
Я также подумываю написать вместо этого задание потоковой передачи, которое читает из auto.offset.reset=smallest
и сохраняет контрольную точку в HDFS, а затем при следующем запуске запускается с нее.
Но в этом случае, как я могу получить только один раз и прекратить потоковую передачу после первого пакета?