У меня есть тема Kafka, получающая 10K событий в минуту, и потребитель Spark Streaming 2.3 в scala, написанный для получения и загрузки в Cassandra. Входящие события - это JSON, имеющий поле «идентификатор пользователя» среди других. Однако, если событие с тем же идентификатором пользователя появляется снова (даже с другим телом сообщения), тем не менее, я не хочу, чтобы это попадало в Cassandra. Таблица Cassandra растет каждую минуту и каждый день, поэтому поиск всех идентификаторов пользователей, встречавшихся до этого момента путем извлечения таблицы в фрейм данных искры в памяти, невозможен, так как таблица будет становиться огромной. Как я могу лучше всего принимать уникальные записи?
Может ли updateStateByKey работать? И как долго можно поддерживать состояние? Потому что, если тот же идентификатор пользователя появится через год, я не хочу использовать его в Кассандре.