Configurare il calcolo per una pipeline DLT
Questo articolo contiene istruzioni e considerazioni per la configurazione delle impostazioni di calcolo personalizzate per le pipeline DLT.
Le pipeline serverless non forniscono opzioni di configurazione di calcolo. Consulta Configura una pipeline serverless DLT.
Selezionare una politica del cluster
Gli utenti devono disporre dell'autorizzazione per distribuire il calcolo per configurare e aggiornare le pipeline DLT. Gli amministratori dell'area di lavoro possono configurare i criteri del cluster per fornire agli utenti l'accesso alle risorse di calcolo per DLT. Vedere Definire i limiti per il calcolo della pipeline DLT.
Nota
I criteri del cluster sono facoltativi. Controlla con l'amministratore del tuo spazio di lavoro se ti mancano i privilegi di calcolo richiesti per DLT.
Per assicurarsi che i valori predefiniti dei criteri del cluster siano applicati correttamente, impostare
apply_policy_default_values
sutrue
nelle configurazioni del cluster nella configurazione della pipeline:{ "clusters": [ { "label": "default", "policy_id": "<policy-id>", "apply_policy_default_values": true } ] }
Configurare i tag del cluster
Si possono usare i tag del cluster per monitorare l'utilizzo dei cluster della pipeline. Aggiungere tag cluster nell'interfaccia utente DLT quando si crea o si modifica una pipeline o modificando le impostazioni JSON per i cluster della pipeline.
Selezionare i tipi di istanza per eseguire una pipeline
Per impostazione predefinita, DLT seleziona i tipi di istanza per i nodi driver e di lavoro della pipeline. Facoltativamente, è possibile configurare i tipi di istanza.
Ad esempio, selezionare i tipi di istanza per migliorare le prestazioni della pipeline o risolvere i problemi di memoria durante l'esecuzione della pipeline. Puoi configurare i tipi di istanza quando crei o modifichi una pipeline con l'API REST o nell'UI DLT.
Per configurare i tipi di istanza quando si crea o si modifica una pipeline nell'interfaccia utente DLT:
- Fare clic sul pulsante Impostazioni.
- Nella sezione Advanced delle impostazioni della pipeline, nei menu a discesa Tipo di worker e Tipo di driver, selezionare i tipi di istanza per la pipeline.
configurazioni di calcolo avanzate
Nota
Poiché le risorse di calcolo sono completamente gestite per le pipeline DLT serverless, le impostazioni di calcolo non sono disponibili quando si seleziona serverless per una pipeline.
Ogni pipeline DLT ha due cluster associati:
- Il cluster
updates
gestisce gli aggiornamenti della pipeline. - Il cluster
maintenance
esegue attività di manutenzione giornaliere.
Le impostazioni di calcolo specificate usando l'interfaccia utente di configurazione della pipeline dell'area di lavoro si applicano sia ai cluster di aggiornamento che di manutenzione. È necessario modificare la configurazione JSON per modificare queste impostazioni in modo indipendente.
La configurazione usata da questi cluster è determinata dall'attributo clusters
specificato nelle impostazioni della pipeline.
Usando le etichette del cluster, è possibile aggiungere impostazioni di calcolo applicabili solo a un tipo di cluster specifico. Per la configurazione dei cluster della pipeline è possibile usare tre etichette:
Nota
L'impostazione dell'etichetta del cluster può essere omessa se si definisce una sola configurazione del cluster. L'etichetta default
viene applicata alle configurazioni del cluster se non viene specificata alcuna impostazione per l'etichetta. L'impostazione dell'etichetta del cluster è necessaria solo se è necessario personalizzare le impostazioni per tipi di cluster diversi.
- L'etichetta
default
definisce le impostazioni di calcolo per i clusterupdates
emaintenance
. L'applicazione delle stesse impostazioni a entrambi i cluster migliora l'affidabilità delle esecuzioni di manutenzione assicurandosi che le configurazioni necessarie, ad esempio le credenziali di accesso ai dati per un percorso di archiviazione, vengano applicate al cluster di manutenzione. - L'etichetta
maintenance
definisce le impostazioni di calcolo applicabili solo al clustermaintenance
. È anche possibile usare l'etichettamaintenance
per eseguire l'override delle impostazioni configurate dall'etichettadefault
. - L'etichetta
updates
definisce le impostazioni applicabili solo al clusterupdates
. Usarlo per configurare le impostazioni che non devono essere applicate al clustermaintenance
.
Le impostazioni definite usando le etichette di default
e updates
vengono unite per creare la configurazione finale per il cluster updates
. Se la stessa impostazione viene definita usando sia default
che updates
etichette, l'impostazione definita con l'etichetta updates
sostituisce l'impostazione definita con l'etichetta default
.
L'esempio seguente definisce un parametro di configurazione Spark aggiunto solo alla configurazione per il cluster updates
:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
DLT offre opzioni simili per le impostazioni del cluster come altre risorse di calcolo in Azure Databricks. Analogamente ad altre impostazioni della pipeline, è possibile modificare la configurazione JSON per i cluster per specificare le opzioni non presenti nell'interfaccia utente. Vedere Compute.
Nota
Poiché il runtime DLT gestisce il ciclo di vita dei cluster della pipeline ed esegue una versione personalizzata di Databricks Runtime, non è possibile impostare manualmente alcune impostazioni del cluster in una configurazione della pipeline, ad esempio la versione di Spark o i nomi del cluster. Vedere Attributi cluster che non sono impostabili dall'utente.
Configurare i tipi di istanza per i cluster di aggiornamento e manutenzione
Per configurare i tipi di istanza nelle impostazioni JSON della pipeline, fare clic sul pulsante JSON e immettere le configurazioni del tipo di istanza nella configurazione del cluster:
Nota
Per evitare di assegnare risorse non necessarie al cluster maintenance
, in questo esempio viene usata l'etichetta updates
per impostare i tipi di istanza solo per il cluster updates
. Per assegnare i tipi di istanza sia a updates
che ai cluster maintenance
, usare l'etichetta default
o omettere l'impostazione per l'etichetta. L'etichetta default
viene applicata alle configurazioni del cluster della pipeline se non viene fornita alcuna impostazione per l'etichetta. Vedere configurazioni di calcolo avanzate.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"...": "..."
}
]
}
Arresto ritardato della computazione
Per controllare il comportamento di arresto del cluster, è possibile usare la modalità di sviluppo o di produzione oppure usare l'impostazione pipelines.clusterShutdown.delay
nella configurazione della pipeline. Nell'esempio seguente il valore pipelines.clusterShutdown.delay
viene impostato su 60 secondi:
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
Quando la modalità production
è abilitata, il valore predefinito per pipelines.clusterShutdown.delay
è 0 seconds
. Quando development
modalità è abilitata, il valore predefinito è 2 hours
.
Nota
Poiché un cluster DLT si arresta automaticamente quando non è in uso, fare riferimento a un criterio del cluster che imposta autotermination_minutes
nella configurazione del cluster genera un errore.
Creare un cluster a nodo singolo
Se si imposta num_workers
su 0 nelle impostazioni del cluster, il cluster viene creato come cluster a nodo singolo . La configurazione di un cluster di scalabilità automatica e l'impostazione di min_workers
su 0 e max_workers
su 0 crea un cluster a nodo singolo.
Se si configura un cluster di scalabilità automatica e si imposta solo min_workers
su 0, il cluster non viene creato come cluster a nodo singolo. Il cluster ha almeno un nodo attivo in ogni momento fino a quando non viene terminato.
Configurazione cluster di esempio per creare un cluster a nodo singolo in DLT:
{
"clusters": [
{
"num_workers": 0
}
]
}