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


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

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

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

Кроме того, аналитики данных могут использовать бессерверные хранилища SQL для запроса и изучения данных в Databricks. См. сведения о бессерверных хранилищах SQL?

Использование политик вычислений

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

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

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

Примечание.

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

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

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

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

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

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

Между числом рабочих ролей и размером экземпляров рабочих ролей существует баланс. При настройке вычислений с двумя рабочими возможностями, каждый из которых имеет 16 ядер и 128 ГБ ОЗУ, имеет те же вычислительные ресурсы и память, что и при настройке вычислений с 8 рабочими возможностями, каждый из которых содержит 4 ядра и 32 ГБ ОЗУ.

Примеры конфигурации вычислений

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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