Установка и использование переменных среды с скриптами инициализации
Скрипты 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 или переменной среды.