
SPYT Streaming
Вышла версия SPYT 2.6.5 с поддержкой Spark Structured Streaming поверх дин. таблиц и очередей в YTsaurus. Теперь можно запускать обработку в близком к реальному времени режиме — в Spark это реализовано через micro-batching. То есть данные обрабатываются не по одной строке, а собираются в пачки с заданным размером окна.
В качестве источников данных поддерживаются очереди YTsaurus — встроенный механизм позволяет фиксировать оффсеты (для исключения повторной обработки данных) индивидуально для каждой очереди. За счёт этого можно параллельно и непрерывно обрабатывать сотни таблиц или потоков данных с минимальной задержкой.
Что можно реализовать на базе новой Structured Streaming?
Примеры сценариев:
-
Сбор и агрегация логов приложений: Потоки логов с разных сервисов записываются в очереди YTsaurus, после чего Structured Streaming в Spark позволяет агрегировать ошибки, строить метрики или триггерить алерты по определённым паттернам.
-
Фильтрация и обогащение данных IoT: Потоки телеметрии с устройств (например, датчиков или умных приборов) можно фильтровать («пропускать только отклоняющиеся значения», «отбрасывать дубли») и обогащать дополнительной служебной информацией перед отправкой в аналитические витрины.
-
Мониторинг пользовательских действий: Действия пользователей (например, клики или проведение платежей) моментально попадают в очередь, а Spark Structured Streaming позволяет производить онлайн-фрод-анализ, строить тепловые карты активности или формировать сегменты пользователей для рекомендаций в реальном времени.
-
Обработка потоков транзакций: Транзакции, поступающие на вход, могут оперативно агрегироваться, сверяться и сохраняться в статические таблицы для последующей обработки.
В качестве результата обработки поток можно не только сразу анализировать, но и записывать обратно в очереди YTsaurus. Это удобно, если нужно построить цепочки обработки (например, сначала очистить данные, потом агрегировать, затем отправить на дальнейший экспорт).
Данные, накопленные в очередях, периодически выгружаются агентом очередей в статические таблицы, которые можно далее использовать для оффлайн-аналитики, построения моделей и репортинга.