Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Что такое режим реального времени?
Режим реального времени — это тип триггера для структурированной потоковой передачи, который обеспечивает ультра-низкую задержку обработки данных с сквозной задержкой до пяти миллисекунда. Используйте режим реального времени для рабочих рабочих нагрузок, требующих немедленного реагирования на потоковую передачу данных, таких как обнаружение мошенничества и персонализация в режиме реального времени.
Режим реального времени также доступен в конвейерах Lakeflow. См. раздел "Использование режима реального времени" в конвейерах Lakeflow.
Как режим реального времени достигает низкой задержки
Режим реального времени улучшает архитектуру выполнения следующими способами:
- Выполнение длительных пакетов (по умолчанию — пять минут), в которых система обрабатывает данные по мере его доступности в источнике.
- Планирование всех этапов запроса одновременно. Это требует, чтобы количество доступных слотов задач было равно или больше количества задач всех этапов в пакете.
- Передача данных между стадиями, как только данные создаются, с помощью потоковой перестановки.
Между пакетами Structured Streaming сохраняет контрольные точки хода выполнения и публикует метрики. Длительность пакета влияет на частоту контрольных точек:
- Для более длинных пакетов контрольные точки происходят реже, что означает более длительное повторное выполнение при сбое и задержку в доступности метрик.
- Для более коротких батчей контрольные точки осуществляются чаще, что может повлиять на время задержки.
Azure Databricks рекомендует тестировать режим реального времени для целевой рабочей нагрузки, чтобы найти соответствующий интервал триггера.
Когда следует использовать режим реального времени
Выберите режим реального времени, если для вашего варианта использования требуется:
- Субсекундная задержка: приложения, которым необходимо реагировать на данные в миллисекундах. Например, блокировка или пометка транзакции по кредитной карте в режиме реального времени, если оценка мошенничества превышает пороговое значение на основе необычного местоположения, крупного размера транзакции или быстрого расходования средств.
- Оперативное принятие решений: системы, которые активируют немедленные действия на основе входящих данных. Например, отправка рекламного сообщения, когда данные кликстрима показывают, что пользователь ищет товар, предлагая скидку, если покупка будет совершена в течение следующих 15 минут.
- Непрерывная обработка: рабочие нагрузки, в которых данные должны обрабатываться сразу после поступления, а не в периодических пакетах.
Используйте микропакетный режим (триггер структурированной потоковой передачи по умолчанию), когда ваш случай использования требует:
- Аналитическая обработка: конвейеры ETL, преобразования данных и реализации архитектуры медальонов, где требования к задержке измеряются в секундах или минутах.
- Оптимизация затрат: нагрузки, для которых не требуется задержка менее секунды, поскольку режим близкий к реальному времени требует выделенные вычислительные ресурсы.
- Быстрое восстановление: рабочие нагрузки, требующие частых контрольных точек, чтобы свести к минимуму время воспроизведения после сбоя.
Поддержка функций и ограничения
Полный список поддерживаемых сред, языков, вычислительных типов, источников, приемников, операторов и известных ограничений см. в справочнике по режиму реального времени.
Дополнительные ресурсы
- Настройка режима реального времени
- Руководство: выполнение рабочей нагрузки потоковой передачи в реальном времени
- Примеры режима реального времени
- Оптимизация и мониторинг производительности запросов в режиме реального времени
- Справочник по режиму реального времени
- Основные понятия структурированной потоковой передачи
- Использование режима реального времени в конвейерах Lakeflow