Spark Structured Streaming Kafka Интеграция Управление смещением - PullRequest
0 голосов
/ 15 сентября 2018

В документации написано:

enable.auto.commit: источник Kafka не фиксирует никакого смещения.

Следовательно, мой вопрос в случае сбоя / перезапуска рабочего или раздела:

  1. initialOffsets установлен как последний, как мы не теряем сообщения?
  2. initialOffsets установлен как можно раньше, как мы не можем повторно обработать все сообщения?

Это кажется довольно важным. Есть какие-то указания, как с этим бороться?

1 Ответ

0 голосов
/ 15 сентября 2018

Я тоже столкнулся с этой проблемой.

Вы правы в своих наблюдениях по 2 вариантам, т.е.

  • потенциальная потеря данных, если startingOffsets установлен на latest
  • дублировать данные, если *Для 1010 * установлено значение earliest

Однако ...

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

.writeStream .<something else> .option("checkpointLocation", "path/to/HDFS/dir") .<something else>

В случае сбоя Spark просматривает содержимое этого каталога контрольных точек, восстанавливает состояние, прежде чем принимать какие-либо новые данные.

Я нашел эту полезную ссылку на том же.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...