Лучшие практики для пула

В этой статье объясняется, что такое пулы и как их наилучшим образом настроить. Дополнительные сведения о создании пула см. в справочнике по конфигурации пула.

Замечание

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

Соображения по поводу пула

При создании пула следует учитывать следующее:

  • Создайте пулы, используя типы экземпляров и рантаймы Azure Databricks в зависимости от целевых рабочих нагрузок.
  • По возможности заполняйте пулы точечными экземплярами, чтобы сократить затраты. Используйте только точечные пулы в качестве рабочих узлов. Узел драйвера должен использовать экземпляры по запросу.
  • Заполняйте пулы экземплярами по запросу для заданий с коротким временем выполнения и строгими требованиями к времени выполнения.
  • Используйте теги пула и теги кластера для управления выставлением счетов.
  • Заполняйте пулы заранее, чтобы гарантировать доступность экземпляров, когда кластеры нуждаются в них.

Создание пулов на основе рабочих нагрузок

Вы можете свести к минимуму время приобретения экземпляров, создав пул для каждого типа экземпляра и среду выполнения Azure Databricks, которую обычно использует ваша организация. Например, если большинство кластеров проектирования данных используют тип экземпляра A, кластеры обработки и анализа данных используют тип экземпляра B, а кластеры аналитики используют тип экземпляра C, создайте пул с каждым типом экземпляра.

Использование пулов точечных экземпляров

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

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

Настройте пулы для использования экземпляров по запросу для заданий с коротким временем выполнения и строгими требованиями к времени выполнения. Используйте экземпляры по запросу, чтобы предотвратить потерю приобретенных экземпляров из-за более высокого предложения на аукционном рынке.

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

Пулы тегов для управления затратами и выставлением счетов

Теги пулов в правильный центр затрат позволяют управлять затратами и возвратом на использование. Можно использовать несколько пользовательских тегов для связывания нескольких центров затрат с пулом. Однако важно понимать, как теги распространяются при создании кластера из пулов. Теги из пулов распространяются на базовые экземпляры поставщика облачных служб, но теги кластера не распространяются. Примените все пользовательские теги, необходимые для управления перенесением затрат на вычислительные ресурсы поставщика облачных услуг в пул.

Теги пула и кластера распространяются на выставление счетов Azure Databricks. Вы можете использовать сочетание тегов кластера и пула для управления обратной оплатой единиц Azure Databricks.

Дополнительные сведения см. в статье "Использование тегов для атрибутов и отслеживания использования".

Настройка пулов для управления затратами

Для управления затратами пулов можно использовать следующие параметры конфигурации:

  • Установите значение 0 для экземпляров Min Idle, чтобы не платить за работающие экземпляры, которые не выполняют никаких задач. Компромисс заключается в возможном увеличении времени, требуемого для получения кластером нового экземпляра.
  • Установите максимальную емкость на основе ожидаемого использования. Это задает потолок максимального количества используемых и неактивных экземпляров в пуле. Если задание или кластер запрашивает экземпляр из пула в максимальной емкости, запрос завершается сбоем, а кластер не получает больше экземпляров. Поэтому Databricks рекомендует задать максимальную емкость только в том случае, если существует строгая квота экземпляра или ограничение бюджета.
  • Задайте время автоматического завершения при простое экземпляра, чтобы обеспечить буфер между моментом освобождения экземпляра из кластера и его удалением из пула. Задайте для этого период, позволяющий свести к минимуму затраты, обеспечивая доступность экземпляров для планируемых задач. Например, задание A планируется запустить в 8:00 и займет 40 минут. Задание B планируется запустить в 9:00 и займет 30 минут. Установите значение времени автоматического завершения бездействующих экземпляров на 20 минут, чтобы удостовериться, что экземпляры возвращаются в пул после завершения задания A и доступны, когда начинается задание B. Если они не утверждаются другим кластером, эти экземпляры завершаются через 20 минут после завершения задания B.

Предварительно настроить пулы

Для полного использования пулов можно предварительно заполнить только что созданные пулы. Установите количество экземпляров Min Idle больше нуля в настройках пула. Кроме того, если вы используете рекомендацию, чтобы задать это значение равным нулю, используйте начальное задание, чтобы убедиться, что только что созданные пулы имеют доступные экземпляры для доступа к кластерам.

С помощью подхода начального задания запланируйте задание с гибкими требованиями к времени выполнения перед заданиями с более строгими требованиями к производительности или перед тем, как пользователи начнут использовать интерактивные кластеры. После завершения задачи экземпляры, используемые для задачи, возвращаются в пул. Установите для параметра Min Idle значение экземпляра равное 0 и установите время автоматического завершения простоев экземпляра достаточно высоким, чтобы обеспечить, что простои остаются доступными для последующих заданий.

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