Condividi tramite


Impostare e usare variabili di ambiente con script init

Gli script Init hanno accesso a tutte le variabili di ambiente presenti in un cluster.

Variabili di ambiente predefinite

Azure Databricks imposta molte variabili predefinite che possono essere utili nella logica di script init. Gli script init globali e con ambito cluster supportano le variabili di ambiente seguenti:

  • DB_CLUSTER_ID: ID del cluster in cui è in esecuzione lo script. Vedere l'Clusters API.
  • DB_CONTAINER_IP: indirizzo IP privato del contenitore in cui viene eseguito Spark. Lo script init viene eseguito all'interno di questo contenitore. Consultare l'API dei Cluster.
  • DB_IS_DRIVER: indica se lo script è in esecuzione in un nodo del driver.
  • DB_DRIVER_IP: indirizzo IP del nodo del driver.
  • DB_INSTANCE_TYPE: tipo di istanza della VM ospite.
  • DB_CLUSTER_NAME: il nome del cluster in cui è in esecuzione lo script.
  • DB_IS_JOB_CLUSTER: indica se il cluster è stato creato per eseguire un lavoro. Vedere Configurare il calcolo per i processi.

Non è possibile eseguire l'override di queste variabili di ambiente predefinite.

Impostare variabili di ambiente personalizzate

Le variabili di ambiente personalizzate a cui è possibile accedere dagli script init in esecuzione nella risorsa di calcolo possono essere impostate nella configurazione di Spark. Vedere Variabili di ambiente.

È anche possibile impostare le variabili di ambiente usando il campo spark_env_vars nell'API di creazione di un cluster o nell'API di aggiornamento del cluster.

Utilizzare le variabili di ambiente

Nell'esempio seguente viene usata una variabile di ambiente predefinita per eseguire parte di uno script solo in un nodo driver:

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>

Segreti negli script init

Quando si fa riferimento a un segreto possibile usare qualsiasi nome di variabile valido. L'accesso ai segreti a cui si fa riferimento nelle variabili di ambiente è determinato dalle autorizzazioni dell'utente che ha configurato il cluster. I segreti archiviati nelle variabili di ambiente sono accessibili da tutti gli utenti del cluster, ma sono nascosti dalla visualizzazione in testo semplice.

Si veda Usare un segreto in una proprietà di configurazione Spark o in una variabile di ambiente.