Я должен реализовать управление смещением в Spark для потокового задания на Java, которое читает из потока Kafka. Однако, хотя процесс был описан в официальной документации здесь , он на самом деле не дает пример кода того, как на самом деле хранить и извлекать смещения из контрольных точек. Скорее, это загадочно говорит, что
Если вы включите контрольную точку Spark, смещения будут сохранены в контрольной точке.
Значит ли это, что если я просто предоставлю каталог контрольных точек для контекста Spark, он автоматически сохранит смещения? Как насчет извлечения последнего смещения, прочитанного, когда приложение возвращается? Страница подробностей о контрольной точке, которая связана там, также оставляет все для читателя и дает только синтаксис для установки пункта назначения контрольной точки.
Это и это дают некоторое представление о том, как использовать контрольные точки, но во всех случаях я могу обнаружить, что они использовались для совокупного вычисления чего-либо, а не для хранить смещения.
Этот вопрос подходит близко, но все еще не описывает его.
Пожалуйста, помогите мне в достижении этой цели.