Что такое скрипты инициализации?
Скрипт init (скрипт инициализации) — это скрипт оболочки, который выполняется во время запуска каждого узла кластера перед запуском драйвера Apache Spark или JVM исполнителя. В этой статье приведены рекомендации по скриптам и сведениям о конфигурации, если они должны использоваться.
Рекомендации по скриптам инициализации
Databricks рекомендует использовать встроенные функции платформы вместо сценариев инициализации по возможности. Широкое использование скриптов инициализации может замедлить миграцию на новые версии среды выполнения Databricks и предотвратить внедрение некоторых оптимизаций Databricks.
Внимание
Если необходимо выполнить миграцию из скриптов инициализации в DBFS, см. статью "Миграция скриптов инициализации из DBFS".
Следующие функции Databricks рассматривают некоторые распространенные варианты использования скриптов инициализации.
- Используйте политики вычислений для задания системных свойств, переменных среды и параметров конфигурации Spark. См. справочник по политике вычислений.
- Добавление библиотек в политики кластера. См. раздел "Добавление библиотек в политику".
Если необходимо использовать скрипты инициализации:
- Управляйте скриптами инициализации с помощью политик вычислений или скриптов с областью действия кластера, а не глобальных скриптов инициализации. См . типы скриптов 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 поддерживает два типа скриптов инициализации в кластере и глобальных, но рекомендуется использовать сценарии инициализации кластера.
- В области кластера: выполняется в каждом кластере, настроенном с помощью скрипта. Это рекомендуемый способ запуска скрипта инициализации. См. статью "Использование скриптов инициализации в области кластера".
- Global: запуск на всех кластерах в рабочей области, настроенной с одним режимом доступа пользователей или режимом общего доступа без изоляции. Эти скрипты инициализации могут вызвать непредвиденные проблемы, такие как конфликты библиотеки. Только пользователи рабочей области могут создавать глобальные скрипты инициализации. См. статью "Использование глобальных скриптов инициализации".
При изменении любого типа скрипта инициализации необходимо перезапустить все кластеры, затронутые скриптом.
Глобальные сценарии инициализации выполняются до сценариев инициализации в области кластера.
Внимание
Устаревшие глобальные и устаревшие скрипты инициализации кластера выполняются перед другими скриптами инициализации. Эти скрипты инициализации являются конечными, но могут присутствовать в рабочих областях, созданных до 21 февраля 2023 года. См. скрипты инициализации с именем кластера (устаревшие версии) и глобальные скрипты инициализации (устаревшие версии).
Где можно установить скрипты инициализации?
Вы можете хранить и настраивать скрипты инициализации из файлов рабочих областей, томов каталога Unity и облачного хранилища объектов, но скрипты инициализации не поддерживаются во всех конфигурациях кластера, а не все файлы можно ссылаться из скриптов инициализации. Рекомендации по средам для скриптов инициализации см. в рекомендациях по скриптам инициализации.
В следующей таблице указывается поддержка скриптов инициализации на основе исходного расположения и режима доступа к кластеру. Указанная версия среды выполнения Databricks является минимальной версией, необходимой для использования сочетания. Сведения о режимах доступа кластера см. в разделе "Режимы доступа".
Примечание.
В режиме общего доступа администратор должен добавить в нее скрипты инициализации allowlist
. См . библиотеки allowlist и скрипты инициализации в общих вычислительных ресурсах.
Режим общего доступа | Режим единого доступа | Режим общего доступа без изоляции | |
---|---|---|---|
Файлы рабочей области | Не поддерживается | Все поддерживаемые версии Databricks Runtime. В версиях ниже 11.3 LTS инициализация скриптов, ссылающихся на другие файлы рабочей области, не поддерживаются. |
Все поддерживаемые версии Databricks Runtime. |
Тома | 13.3 LTS и более поздних версий | 13.3 LTS и более поздних версий | Не поддерживается |
Облачное хранилище | 13.3 LTS и более поздних версий | Все поддерживаемые версии среды выполнения Databricks | Все поддерживаемые версии среды выполнения Databricks |
Перенос скриптов инициализации из DBFS
Предупреждение
Скрипты инициализации в DBFS достигли конца жизни и больше не могут использоваться. Перед запуском вычислений необходимо перенести скрипты инициализации в поддерживаемое расположение. Храните скрипты инициализации в томах каталога Unity, в виде файлов рабочей области или в облачном хранилище объектов.
Пользователи, которым необходимо перенести скрипты инициализации из DBFS, могут использовать следующие руководства. Убедитесь, что вы определили правильный целевой объект для конфигурации. Рекомендации по скриптам инициализации.