Che cosa sono gli script inizializzazione?

Uno script init (script di inizializzazione) è uno script della shell eseguito durante l'avvio di ogni nodo del cluster prima dell'avvio del driver Apache Spark o dell'executor JVM. Questo articolo fornisce consigli per gli script init e le informazioni di configurazione se è necessario usarli.

Consigli per gli script init

Databricks consiglia di usare funzionalità della piattaforma predefinite anziché script init quando possibile. L'uso diffuso di script init può rallentare la migrazione alle nuove versioni di Databricks Runtime e impedire l'adozione di alcune ottimizzazioni di Databricks.

Importante

Se è necessario eseguire la migrazione da script init in DBFS, vedere Eseguire la migrazione di script init da DBFS.

Le seguenti funzionalità di Databricks riguardano alcuni dei casi d'uso comuni per gli script init:

Se è necessario usare script init:

  • Gestire gli script init usando criteri di calcolo o script init con ambito cluster anziché script init globali. Vedere tipi di script init.
  • Gestire l'installazione della libreria per ambienti di produzione e interattivi usando i criteri di calcolo. Non installare librerie usando script init.
  • Usare la modalità di accesso condiviso per tutti i carichi di lavoro. Usare la modalità di accesso utente singolo solo se la funzionalità richiesta non è supportata dalla modalità di accesso condiviso.
  • Usare le nuove versioni di Databricks Runtime e Unity Catalog per tutti i carichi di lavoro.

La tabella seguente fornisce raccomandazioni organizzate in base alla versione di Databricks Runtime e all'abilitazione di Unity Catalog.

Ambiente Elemento consigliato
Databricks Runtime 13.3 LTS e versioni successive con Unity Catalog Archiviare gli script init nei volumi del catalogo Unity.
Databricks Runtime 11.3 LTS e versioni successive senza Unity Catalog Archiviare gli script init come file dell'area di lavoro. Il limite di dimensioni del file è 500 MB.
Databricks Runtime 10.4 LTS e versioni successive Archiviare script init usando l'archiviazione di oggetti cloud.

Quali tipi di script init supporta Azure Databricks?

Azure Databricks supporta due tipi di script init: cluster con ambito cluster e globale, ma è consigliabile usare script init con ambito cluster.

  • Con ambito cluster: viene eseguito in ogni cluster configurato con lo script. Questo è il modo consigliato per eseguire uno script init. Vedere Usare script init con ambito cluster.
  • Globale: viene eseguito in tutti i cluster nell'area di lavoro configurata con la modalità di accesso utente singolo o la modalità di accesso condiviso senza isolamento. Questi script init possono causare problemi imprevisti, ad esempio conflitti di libreria. Solo gli utenti amministratori dell'area di lavoro possono creare script init globali. Vedere Usare script init globali.

Ogni volta che si modifica qualsiasi tipo di script init, è necessario riavviare tutti i cluster interessati dallo script.

Gli script init globali vengono eseguiti prima degli script init con ambito cluster.

Importante

Gli script init globali e legacy legacy vengono eseguiti prima di altri script init. Questi script init sono di fine vita, ma potrebbero essere presenti nelle aree di lavoro create prima del 21 febbraio 2023. Vedere Script init denominati cluster (legacy) e Script init globali (legacy).

Dove è possibile installare gli script init?

È possibile archiviare e configurare script init dai file dell'area di lavoro, dai volumi del catalogo Unity e dall'archiviazione di oggetti cloud, ma gli script init non sono supportati in tutte le configurazioni del cluster e non tutti i file possono essere referenziati dagli script init.

La tabella seguente indica il supporto per gli script init in base al percorso di origine e alla modalità di accesso al cluster. La versione di Databricks Runtime elencata è la versione minima necessaria per usare la combinazione. Per informazioni sulle modalità di accesso al cluster, vedere Modalità di accesso.

Nota

La modalità di accesso condiviso richiede a un amministratore di aggiungere script init a un oggetto allowlist. Vedere Allowlist libraries and init scripts on shared compute .See Allowlist libraries and init scripts on shared compute.See Allowlist libraries and init scripts on shared compute.

Modalità di accesso condiviso Modalità di accesso singolo Modalità di accesso condiviso senza isolamento
File dell'area di lavoro Non supportato Tutte le versioni supportate di Databricks Runtime Tutte le versioni supportate di Databricks Runtime
Volumi 13,3 LTS 13,3 LTS Non supportato
Archiviazione nel cloud 13,3 LTS Tutte le versioni supportate di Databricks Runtime Tutte le versioni supportate di Databricks Runtime

Eseguire la migrazione di script init da DBFS

Avviso

Gli script Init in DBFS hanno raggiunto la fine della vita e non possono più essere usati. Prima di avviare il calcolo, è necessario eseguire la migrazione degli script init a una posizione supportata. Archiviare gli script init nei volumi del catalogo Unity, come file dell'area di lavoro o nell'archiviazione di oggetti cloud.

Gli utenti che devono eseguire la migrazione di script init da DBFS possono usare le guide seguenti. Assicurarsi di aver identificato la destinazione corretta per la configurazione. Vedere Consigli per gli script init.