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.
Raccomandazioni 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:
- Usare i criteri di calcolo per impostare le proprietà di sistema, le variabili di ambiente e i parametri di configurazione di Spark. Vedere Informazioni di riferimento sui criteri di calcolo.
- Aggiungere librerie ai criteri del cluster. Vedere Aggiungere librerie a un criterio.
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 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 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. Per consigli per l'ambiente per gli script init, vedere Raccomandazioni per gli 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
. Si veda Librerie Allowlist e script di init su calcolo condiviso.
Chiave di accesso condiviso | Modalità di accesso singolo | Modalità di accesso condiviso senza isolamento | |
---|---|---|---|
File dell'area di lavoro | Non supportato | Tutte le versioni di Databricks Runtime supportate. Nelle versioni precedenti alla 11.3 LTS, gli script init che fanno riferimento ad altri file dell'area di lavoro non sono supportati. |
Tutte le versioni di Databricks Runtime supportate. |
Volumi | 13.3 LTS e versioni successive | 13.3 LTS e versioni successive | Non supportato |
Archiviazione nel cloud | 13.3 LTS e versioni successive | 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 Raccomandazioni per gli script init.