Definir e usar variáveis de ambiente com scripts init

Os scripts de inicialização têm acesso a todas as variáveis de ambiente presentes em um cluster.

Variáveis de ambiente padrão

O Azure Databricks define muitas variáveis padrão que podem ser úteis na lógica de scripts de init. Os scripts de inicialização global e com escopo de cluster suportam as seguintes variáveis de ambiente:

  • DB_CLUSTER_ID: a ID do cluster no qual o script está sendo executado. Consulte a API de Clusters.
  • DB_CONTAINER_IP: o endereço IP privado do contêiner no qual o Spark é executado. O script init é executado dentro deste contêiner. Consulte a API de Clusters.
  • DB_IS_DRIVER: se o script está sendo executado em um nó de driver.
  • DB_DRIVER_IP: o endereço IP do nó do driver.
  • DB_INSTANCE_TYPE: o tipo de instância da VM do host.
  • DB_CLUSTER_NAME: o nome do cluster no qual o script está sendo executado.
  • DB_IS_JOB_CLUSTER: se o cluster foi criado para executar um trabalho. Consulte Configurar computação para trabalhos.

Não é possível substituir essas variáveis de ambiente predefinidas.

Definir variáveis de ambiente personalizadas

Variáveis de ambiente personalizadas às quais podes aceder a partir de scripts de inicialização que estão a correr no recurso de computação podem ser configuradas na configuração do Spark. Ver variáveis de ambiente.

Você também pode definir variáveis de ambiente usando o campo spark_env_vars ou Atualizar cluster API.

Utilizar variáveis de ambiente

O exemplo seguinte utiliza uma variável de ambiente padrão para correr parte de um script apenas num nó controlador:

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>

Segredos nos scripts init

Você pode usar qualquer nome de variável válido quando fizer referência a um segredo. O acesso a segredos referenciados em variáveis de ambiente é determinado pelas permissões do usuário que configurou o cluster. Os segredos armazenados em variáveis de ambiente são acessíveis por todos os utilizadores do cluster, mas são ocultados na exibição de texto simples.

Consulte Utilizar um segredo numa propriedade de configuração do Spark ou variável de ambiente.