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

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

  • Бессерверные вычисления не требуют настройки параметров вычислений. Бессерверные вычисления всегда доступны и масштабируется в соответствии с рабочей нагрузкой. См . типы вычислений.

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

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

Примечание.

В этой статье предполагается, что у вас есть неограниченное создание кластера. Администраторы рабочей области должны предоставлять этому привилегию только расширенным пользователям.

Рекомендации по размеру вычислений

Люди часто думать о размере вычислительных ресурсов с точки зрения количества рабочих ролей, но существуют и другие важные факторы, которые следует учитывать:

  • Общее число ядер (вычислений) исполнителя: общее количество ядер по всем исполнителям. Это определяет максимальный параллелизм вычислений.
  • Общая память исполнителей: общий объем ОЗУ по всем исполнителям. Это определяет объем данных, которые можно хранить в памяти, прежде чем сбрасывать их на диск.
  • Локальное хранилище исполнителя: тип и объем локального дискового хранилища. Локальный диск в основном используется при операциях сброса при перемешивании и кэшировании данных.

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

  • Какой объем данных будет использоваться рабочей нагрузкой?
  • Какова вычислительная сложность рабочей нагрузки?
  • Откуда считываются данные?
  • Как данные секционированы во внешнем хранилище?
  • Какая степень параллелизма вам необходима?

Ответы на эти вопросы помогут определить оптимальные конфигурации вычислений на основе рабочих нагрузок.

Между числом рабочих ролей и размером экземпляров рабочих ролей существует баланс. При настройке вычислений с двумя рабочими возможностями, каждый из которых имеет 40 ядер и 100 ГБ ОЗУ, имеет те же вычислительные ресурсы и память, что и при настройке вычислений с 10 ядрами и 25 ГБ ОЗУ.

Примеры размера вычислений

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

Анализ данных

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

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

Примечание.

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

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

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

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

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

Базовые пакетные ETL

Примечание.

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

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

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

Сложные пакетные ETL

Примечание.

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

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

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

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

Обучение моделей машинного обучения

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

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

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

Дополнительные функции, рекомендуемые для рабочих нагрузок машинного обучения, включают:

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