Что такое скрипты инициализации?

Скрипт init (скрипт инициализации) — это скрипт оболочки, который выполняется во время запуска каждого узла кластера перед запуском драйвера Apache Spark или JVM исполнителя. В этой статье приведены рекомендации по скриптам и сведениям о конфигурации, если они должны использоваться.

Рекомендации для скриптов инициализации

Databricks рекомендует использовать встроенные функции платформы вместо сценариев инициализации по возможности. Широкое использование скриптов инициализации может замедлить миграцию на новые версии среды выполнения Databricks и предотвратить внедрение некоторых оптимизаций Databricks.

Внимание

Если необходимо выполнить миграцию из скриптов инициализации в DBFS, см. статью "Миграция скриптов инициализации из DBFS".

Следующие функции Databricks рассматривают некоторые распространенные варианты использования скриптов инициализации.

  • Используйте политики вычислений для задания системных свойств, переменных среды и параметров конфигурации Spark. См. справочник по политике вычислений.
  • Добавление библиотек в политики кластера. См. раздел "Добавление библиотек в политику".

Если необходимо использовать скрипты инициализации:

  • Управление скриптами инициализации с помощью политик вычислений или скриптов область d init, а не глобальных скриптов инициализации. См . типы скриптов init.
  • Управление установкой библиотеки для рабочих и интерактивных сред с помощью политик вычислений. Не устанавливайте библиотеки с помощью скриптов init.
  • Используйте режим общего доступа для всех рабочих нагрузок. Используйте только один режим доступа пользователей, если необходимые функциональные возможности не поддерживаются режимом общего доступа.
  • Используйте новые версии среды выполнения Databricks и каталог Unity для всех рабочих нагрузок.

В следующей таблице приведены рекомендации, организованные версией Databricks Runtime и включением каталога Unity.

Среда Рекомендация
Databricks Runtime 13.3 LTS и более поздних версий с каталогом Unity Храните скрипты инициализации в томах каталога Unity.
Databricks Runtime 11.3 LTS и более поздних версий без каталога Unity Храните скрипты инициализации в виде файлов рабочей области. (Размер файла составляет 500 МБ).
Databricks Runtime 10.4 LTS и ниже Хранение скриптов инициализации с помощью облачного хранилища объектов.

Какие типы скриптов инициализации поддерживают Azure Databricks?

Azure Databricks поддерживает два типа скриптов инициализации: кластер-область и глобальный, но рекомендуется использовать скрипты инициализации кластера область d.

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

При изменении любого типа скрипта инициализации необходимо перезапустить все кластеры, затронутые скриптом.

Глобальные скрипты init-script выполняются до скриптов инициализации кластера область d.

Внимание

Устаревшие глобальные и устаревшие скрипты инициализации кластера выполняются перед другими скриптами инициализации. Эти скрипты инициализации являются конечными, но могут присутствовать в рабочих областях, созданных до 21 февраля 2023 года. См. скрипты инициализации с именем кластера (устаревшие версии) и глобальные скрипты инициализации (устаревшие версии).

Где можно установить скрипты инициализации?

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

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

Примечание.

В режиме общего доступа администратор должен добавить в нее скрипты инициализации allowlist. См . библиотеки allowlist и скрипты инициализации в общих вычислительных ресурсах.

Режим общего доступа Режим единого доступа Режим общего доступа без изоляции
Файлы рабочей области Не поддерживается Все поддерживаемые версии среды выполнения Databricks Все поддерживаемые версии среды выполнения Databricks
Тома 13.3 LTS 13.3 LTS Не поддерживается
Облачное хранилище 13.3 LTS Все поддерживаемые версии среды выполнения Databricks Все поддерживаемые версии среды выполнения Databricks

Перенос скриптов инициализации из DBFS

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