Spark-Streaming Сравнение записей - PullRequest
0 голосов
/ 09 мая 2018

Как сравнить полученную запись с предыдущей записью того же ключа в искровой структурированной потоковой передаче. Можно ли это сделать с помощью groupByKey и mapGroupWithState?

groupByKey(user)
mapGroupsWithState(GroupStateTimeout.NoTimeout)(updateAcrossEvents)

// Пример кода из Полного руководства Spark

При выполнении вышеуказанных операций возникает еще один вопрос. Я не думаю, что последовательность записей будет сохраняться при получении записи, она будет разделена и сохранена между рабочими узлами, и когда мы применяем groupByKey, происходит случайное перемешивание, и все записи с одним и тем же ключом будут находиться в одном рабочем узле, но не поддерживать последовательность.

1 Ответ

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

Вы можете использовать mapGroupsWithState для этого. Вам придется сохранить предыдущую запись в состоянии группы и сравнить ее с входящей записью.

Что вы используете в качестве источника? Если источником является Kafka, вам придется разделить тему Kafka по ключу, который вы используете.

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