Рекомендации по структурированной потоковой передаче в рабочей среде

Эта статья содержит рекомендации по настройке рабочих нагрузок добавочной обработки с помощью структурированной потоковой передачи в Azure Databricks, чтобы выполнить требования к задержкам и затратам для приложений, работающих в реальном времени, или пакетных приложений. Основные понятия структурированной потоковой передачи в Azure Databricks позволяют избежать распространенных ошибок при масштабировании объема и скорости данных и переходе от разработки к рабочей среде.

Azure Databricks предоставляет разностные динамические таблицы, которые уменьшают сложность управления рабочей инфраструктурой для рабочих нагрузок структурированной потоковой передачи. Databricks рекомендует использовать разностные динамические таблицы для новых структурированных конвейеров потоковой передачи; См. раздел "Что такое разностные динамические таблицы?".

Примечание.

Автоматическое масштабирование вычислений имеет ограничения, ограничивающие размер кластера для структурированных рабочих нагрузок потоковой передачи. Databricks рекомендует использовать разностные динамические таблицы (Delta Live Tables) с расширенным автомасштабированием для потоковых рабочих нагрузок. См. статью "Оптимизация использования кластеров конвейеров Delta Live Tables с расширенным автомасштабированием".

Использование записных книжек для рабочих нагрузок структурированной потоковой передачи

Для интерактивной разработки с помощью записных книжек Databricks вам необходимо подключить записные книжки к кластеру, чтобы выполнять запросы вручную. Записные книжки Databricks можно запланировать для автоматического развертывания и автоматического восстановления после сбоя запроса с помощью рабочих процессов.

Вы можете визуализировать запросы структурированной потоковой передачи в записных книжках во время интерактивной разработки или для интерактивного мониторинга рабочих нагрузок. Визуализируйте запрос структурированной потоковой передачи в рабочей среде только в том случае, если выходные данные записной книжки будут регулярно отслеживаться человеком. Хотя параметры trigger и checkpointLocation необязательны, Databricks рекомендует всегда указывать их в рабочей среде.

Управление размером пакета и частотой структурированной потоковой передачи в Azure Databricks

Структурированная потоковая передача в Azure Databricks предоставляет расширенные возможности для управления затратами и задержкой при потоковой передаче с помощью автозагрузчика и Delta Lake.

Что такое потоковая передача с отслеживанием состояния?

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

Операции с отслеживанием состояния включают агрегирование потоковой передачи, потоковую передачу dropDuplicates, соединения "поток — поток", mapGroupsWithState и flatMapGroupsWithState.

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

В Databricks Runtime 13.3 LTS и более поздних версиях можно включить проверка назначение журнала изменений с помощью RocksDB, чтобы снизить длительность проверка точки и сквозную задержку для структурированных рабочих нагрузок потоковой передачи. Databricks рекомендует включать контрольные точки журнала изменений для всех запросов структурированных потоков с отслеживанием состояния. См. раздел "Включить проверка назначение журнала изменений".