В кеш-памяти сохранялась между пакетами искровая структурированная потоковая - PullRequest
0 голосов
/ 11 марта 2019

Как правильно использовать кэш LRU в памяти в приложении scala, которое работает по искровому структурированному потоку, которое сохраняется в пакетах.

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

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

1 Ответ

0 голосов
/ 18 апреля 2019

Вы можете попробовать написать собственную логику внутри mapGroupsWithState или flatMapGroupsWithState

Это хранилище с состоянием, которое может содержать вычисленные значения для поиска

Смотрите эту ссылку: https://databricks.com/blog/2017/10/17/arbitrary-stateful-processing-in-apache-sparks-structured-streaming.html

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