Я пытаюсь реализовать 5-минутный пакетный мониторинг с использованием искровой структурированной потоковой передачи, где читаются из kafka и смотрят на (1 огромный и 1 меньший) diff stati c наборов данных как часть ETL logi c и вызывают остальные API для отправлять окончательные результаты во внешнее приложение (из миллиардов записей из kafka только ET будет отсутствовать в API покоя после ETL).
Как добиться обновленного состояния c look ups без перезапуска всего потокового приложения? (StreamingQueryListener использует метод StreamingQueryManager.addListener, чтобы иметь наши собственные логи c обновления / воссоздания stati c df через StreamingQuery.AwaitTermination? Или использовать постоянный и неперсонифицированный кеш? Или любые другие лучшие идеи?) Примечание. Прошел статью ниже, но не уверен, что hbase лучше, чем старый. https://medium.com/@anchitsharma1994 / hbase-lookup-in-spark-streaming-acafe28cb0d c
Как только запись закончится, нам нужно начать отслеживать это отправлять обновления через rest API. Так что надежда на реализацию flatmapwithGroupState помогает отслеживать состояние события.