Spark Streaming: состояние двух потоков - PullRequest
0 голосов
/ 09 апреля 2019

Я использую Spark Streaming.У меня есть два потока: value-stream и user-thresholds stream.Каждые 200-1000 мс я должен фильтровать value-stream на основе пользовательских порогов, указанных в потоке user-threshold-updates, сюрприз:)

Я не хочу вносить дополнительную сложность и сохранять состояние во внешнем хранилище (например, Redis),Я бы предпочел использовать состояние Spark Streaming mapWithState.

. Проблема в том, что mapWithState работает поверх одного потока, а у меня два.Я не могу объединить value-stream и user-threshold-updates, поскольку они имеют разные схемы.Я не хочу делать stateSnapshots для каждого микропакета, потому что он не эффективен (value-stream содержит только измененные пользовательские значения, в то время как снимок user-threshold-updates будет содержать порог для всех пользователей)

Каков наилучший способ фильтрации value-stream на основе состояния, поступающего с user-thresholds?

...