Impostare e usare variabili di ambiente con script init

Gli script Init hanno accesso a tutte le variabili di ambiente presenti in un cluster. Azure Databricks imposta molte variabili predefinite che possono essere utili nella logica di script init.

Le variabili di ambiente impostate nella configurazione di Spark sono disponibili per gli script init. Vedere Variabili di ambiente.

Quali variabili di ambiente vengono esposte allo script init per impostazione predefinita?

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'API Cluster.
  • DB_CONTAINER_IP: indirizzo IP privato del contenitore in cui viene eseguito Spark. Lo script init viene eseguito all'interno di questo contenitore. Vedere l'API Cluster.
  • DB_IS_DRIVER: indica se lo script è in esecuzione in un nodo del driver.
  • DB_DRIVER_IP: indirizzo IP del nodo driver.
  • DB_INSTANCE_TYPE: tipo di istanza della macchina virtuale host.
  • 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 processo. Vedere Creare un processo.

Ad esempio, se si vuole eseguire parte di uno script solo in un nodo driver, è possibile scrivere uno script come:

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>

Usare i segreti negli script init

È possibile usare qualsiasi nome di variabile valido quando si fa riferimento a un segreto. 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 vengono elaborati dalla visualizzazione in testo non crittografato.

Vedere Fare riferimento a un segreto in una variabile di ambiente.