Как вручную зафиксировать смещение в прямой трансляции Spark Kafka?

Я внимательно посмотрел вокруг, но не нашел удовлетворительного ответа на это. Может быть, я что-то упустил. Пожалуйста помоги.

У нас есть потоковое приложение Spark, использующее тему Kafka, которое должно обеспечивать сквозную обработку перед продвижением смещений Kafka, например, обновление базы данных. Это очень похоже на построение поддержки транзакций в потоковой системе и гарантию того, что каждое сообщение обрабатывается (преобразуется) и, что более важно, выводится.

Я читал о Кафке DirectStreams. В нем говорится, что для надежного восстановления после сбоя в режиме DirectStreaming должна быть включена контрольная точка Spark, котораясохраняет смещения вместе с контрольными точками, Но управление смещением выполняется внутри (настройка параметров конфигурации Kafka, например ["auto.offset.reset", "auto.commit.enable", "auto.offset.interval.ms"]). Это не говорит о том, как (или если) мы можем настроить смещения фиксации (например, после загрузки базы данных). Другими словами, можем ли мы установить"auto.commit.enable" ложно и самим управлять смещениями (в отличие от соединения с БД)?

Любое руководство / помощь с благодарностью.

Ответы на вопрос(1)

Ваш ответ на вопрос