Оптимизация использования кластерных конвейеров DLT с расширенным автомасштабированием
В этой статье описывается использование расширенного автомасштабирования для оптимизации конвейеров DLT в Azure Databricks.
Усиленное автомасштабирование включено по умолчанию для всех новых проектов.
Для бессерверных конвейеров расширенная автомасштабировка всегда включена и не может быть отключена. См. Настроить бессерверный DLT конвейер.
Что такое расширенное автомасштабирование?
Улучшенное автоматическое масштабирование Databricks оптимизирует использование кластера путем автоматического выделения ресурсов кластера на основе объема рабочей нагрузки с минимальным влиянием на задержку обработки данных в ваших конвейерах.
Улучшенная автомасштабирование улучшает функции автомасштабирования кластера Azure Databricks с помощью следующих функций:
- Улучшенная автомасштабирование реализует оптимизацию потоковых рабочих нагрузок и добавляет улучшения для повышения производительности пакетных рабочих нагрузок. Улучшенная автомасштабирование оптимизирует затраты путем добавления или удаления компьютеров при изменении рабочей нагрузки.
- Расширенное автоматическое масштабирование заранее завершает работу недостаточно используемых узлов, гарантируя отсутствие неудачных задач во время завершения работы. Существующая функция автомасштабирования кластера масштабирует узлы только в том случае, если узел неактивен.
Расширенный автомасштабирование — это режим автомасштабирования по умолчанию при создании конвейера в пользовательском интерфейсе DLT. Вы можете включить расширенный автомасштабирование для существующих конвейеров, изменив параметры конвейера в пользовательском интерфейсе. Вы также можете включить расширенный автомасштабирование при создании или изменении конвейеров с помощью API DLT .
Какие метрики используют расширенный автомасштабирование для принятия решения по масштабированию или уменьшению масштаба?
Улучшенное автомасштабирование использует две метрики для принятия решения о масштабировании вверх или масштабировании вниз.
- использование слотов задач. Это среднее соотношение количества слотов занятой задачи с общими слотами задач, доступными в кластере.
- размер очереди задач: это количество задач, ожидающих выполнения в слотах задач.
Включите расширенное автомасштабирование для DLT-конвейера
Расширенный автомасштабирование — это режим автомасштабирования по умолчанию при создании конвейера в пользовательском интерфейсе DLT. Вы можете включить расширенный автомасштабирование для существующих конвейеров, изменив параметры конвейера в пользовательском интерфейсе. Вы также можете включить расширенный автомасштабирование при создании или изменении конвейера с помощью API DLT.
Чтобы использовать расширенное автомасштабирование, выполните один из следующих шагов:
- Задайте для режима кластера значениерасширенного автомасштабирования при создании или редактировании конвейера в пользовательском интерфейсе DLT.
- Добавьте параметр
autoscale
в конфигурацию кластера конвейера и задайте для поляmode
значениеENHANCED
. См. Настройка вычислений для конвейера DLT.
Используйте следующие рекомендации при настройке расширенного автомасштабирования для рабочих конвейеров:
- Оставьте параметр
Min workers
по умолчанию. - Задайте для параметра
Max workers
значение на основе бюджета и приоритета конвейера.
В следующем примере настраивается расширенный кластер автомасштабирования с не менее 5 рабочих ролей и не более 10 рабочих ролей.
max_workers
должно быть больше или равно min_workers
.
Заметка
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Если конвейер настроен для непрерывного выполнения, он автоматически перезапускается после изменения конфигурации автомасштабирования. После перезапуска ожидается короткий период повышенной задержки. После этого краткого периода повышенной задержки размер кластера следует обновить на основе конфигурации autoscale
, а задержка конвейера должна вернуться к предыдущим характеристикам задержки.
Ограничить затраты на конвейеры, использующие расширенное автомасштабирование
Заметка
Нельзя настроить рабочих для бессерверных конвейеров.
Установка параметра Max workers в панели вычислений задает верхнюю границу для автомасштабирования. Сокращение числа доступных работников может увеличить задержку для некоторых рабочих нагрузок, но предотвращает увеличение затрат на вычислительные ресурсы во время интенсивных вычислительных операций.
Databricks рекомендует настроить параметры максимального количества рабочих, чтобы сбалансировать компромисс между стоимостью и задержкой для ваших конкретных потребностей.
Мониторинг классических конвейеров с включенным расширенным автомасштабированием
Журнал событий в пользовательском интерфейсе DLT можно использовать для мониторинга расширенных метрик автомасштабирования для классических конвейеров. Расширенные события автомасштабирования имеют тип события autoscale
. Ниже приведены примеры событий:
Событие | Сообщение |
---|---|
Запущен запрос на изменение размера кластера | Scaling [up or down] to <y> executors from current cluster size of <x> |
Запрос на изменение размера кластера выполнен успешно | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
Частично выполнен запрос изменения размера кластера | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
Сбой запроса изменения размера кластера | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
Кроме того, можно просматривать расширенные события автомасштабирования, напрямую запрашивая журнал событий :
- Чтобы запросить журнал событий для метрик накопленного объема работы, см. «Отслеживание накопленного объема работы данных с помощью запроса журнала событий».
- Сведения о мониторинге запросов на изменение размера кластера и ответов на них во время улучшенных операций автомасштабирования см. в статье Мониторинг улучшенных событий автомасштабирования из журнала событий для пайплайнов без поддержки бессерверной архитектуры.