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


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

Скрипты init имеют доступ ко всем переменным среды, присутствующих в кластере. Azure Databricks задает множество переменных по умолчанию, которые могут быть полезны в логике скрипта инициализации.

Переменные среды, заданные в конфигурации Spark, доступны для сценариев инициализации. См. раздел Переменные среды.

Какие переменные среды предоставляются скрипту init по умолчанию?

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

  • DB_CLUSTER_ID: идентификатор кластера, в котором работает скрипт. См. API кластеров.
  • DB_CONTAINER_IP: частный IP-адрес контейнера, в котором выполняется Spark. Скрипт инициализации выполняется в этом контейнере. См. API кластеров.
  • DB_IS_DRIVER: указывает, запускается ли скрипт на узле драйвера.
  • DB_DRIVER_IP: IP-адрес узла драйвера.
  • DB_INSTANCE_TYPE: тип экземпляра виртуальной машины узла.
  • DB_CLUSTER_NAME: имя кластера, в котором выполнялся скрипт.
  • DB_IS_JOB_CLUSTER: указывает, был ли создан кластер для выполнения задания. См. раздел "Настройка вычислений для заданий".

Например, если часть скрипта требуется запустить только на узле драйвера, можно написать примерно такой скрипт:

echo $DB_IS_DRIVER
if [[ $DB_IS_DRIVER = "TRUE" ]]; then
  <run this part only on driver>
else
  <run this part only on workers>
fi
<run this part on both driver and workers>

Использование секретов в скриптах инициализации

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

Дополнительные сведения см. в статье Использование секретов в свойстве конфигурации Spark или переменной среды.