Поделиться через


Оптимизация использования кластеров конвейеров Delta Live Tables с расширенным автомасштабированием

В этой статье описывается использование расширенного автомасштабирования для оптимизации конвейеров Delta Live Tables в Azure Databricks.

Расширенная автомасштабирование включена по умолчанию для всех новых конвейеров.

Для бессерверных конвейеров расширенная автомасштабирование всегда включена и не может быть отключена. См. статью "Настройка конвейера бессерверных динамических таблиц Delta Live Tables".

Что такое расширенное автомасштабирование?

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

Улучшенная автомасштабирование улучшает возможности автомасштабирования кластера Azure Databricks со следующими функциями:

  • Улучшенная автомасштабирование реализует оптимизацию потоковых рабочих нагрузок и добавляет улучшения для повышения производительности пакетных рабочих нагрузок. Улучшенная автомасштабирование оптимизирует затраты путем добавления или удаления компьютеров при изменении рабочей нагрузки.
  • Расширенное автоматическое масштабирование заранее завершает работу недостаточно используемых узлов, гарантируя отсутствие неудачных задач во время завершения работы. Существующая функция автомасштабирования кластера масштабирует узлы, только если узел простаивает.

Расширенный автомасштабирование — это режим автомасштабирования по умолчанию при создании конвейера в пользовательском интерфейсе Delta Live Tables. Вы можете включить расширенный автомасштабирование для существующих конвейеров, изменив параметры конвейера в пользовательском интерфейсе. Вы также можете включить расширенный автомасштабирование при создании или изменении конвейеров с помощью API разностных динамических таблиц.

Какие метрики используют расширенный автомасштабирование для принятия решения по масштабированию или уменьшению масштаба?

Улучшенная автомасштабирование использует две метрики для решения о масштабировании вверх или уменьшении масштаба:

  • Использование слотов задач: это среднее соотношение количества слотов занятой задачи к общему количеству слотов задач, доступных в кластере.
  • Размер очереди задач: это количество задач, ожидающих выполнения в слотах задач.

Включение расширенного автомасштабирования для конвейера разностных динамических таблиц

Расширенный автомасштабирование — это режим автомасштабирования по умолчанию при создании конвейера в пользовательском интерфейсе Delta Live Tables. Вы можете включить расширенный автомасштабирование для существующих конвейеров, изменив параметры конвейера в пользовательском интерфейсе. Вы также можете включить расширенный автомасштабирование при создании или изменении конвейера с помощью API разностных динамических таблиц.

Чтобы использовать расширенный автомасштабирование, выполните одно из следующих действий:

  • Задайте режим кластера для расширенного автомасштабирования при создании или редактировании конвейера в пользовательском интерфейсе разностных динамических таблиц.
  • Добавьте параметр в autoscale конфигурацию кластера конвейера и задайте mode для этого поля значение ENHANCED. Сведения о настройке вычислений для конвейера Delta Live Tables.

Используйте следующие рекомендации при настройке расширенного автомасштабирования для рабочих конвейеров:

  • Min workers Оставьте параметр по умолчанию.
  • Max workers Задайте для параметра значение в зависимости от бюджета и приоритета конвейера.

В следующем примере настраивается расширенный кластер автомасштабирования с не менее 5 рабочих ролей и не более 10 рабочих ролей. max_workers должно быть больше или равно min_workers.

Примечание.

  • Расширенная автомасштабирование доступна только для updates кластеров. Устаревшая автомасштабирование используется для maintenance кластеров.
  • Конфигурация autoscale имеет два режима:
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

Если конвейер настроен для непрерывного выполнения, он автоматически перезапускается после изменения конфигурации автомасштабирования. После перезапуска ожидается короткий период повышенной задержки. После этого краткого периода повышенной задержки размер кластера следует обновить на autoscale основе конфигурации, а задержка конвейера должна вернуться к предыдущим характеристикам задержки.

Ограничение затрат на конвейеры, использующие расширенное автомасштабирование

Примечание.

Невозможно настроить рабочие роли для бессерверных конвейеров.

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

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

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

Мониторинг расширенных классических конвейеров с поддержкой автомасштабирования

Журнал событий в пользовательском интерфейсе Delta Live Tables можно использовать для мониторинга расширенных метрик автомасштабирования для классических конвейеров. Расширенные события автомасштабирования имеют 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

Кроме того, можно просматривать расширенные события автомасштабирования, напрямую запрашивая журнал событий: