Configurare le risorse di calcolo per una pipeline di Delta Live Tables
Questo articolo contiene istruzioni e considerazioni per la configurazione delle impostazioni di calcolo personalizzate per le pipeline di tabelle live Delta.
Le pipeline serverless non forniscono opzioni di configurazione di calcolo. Consulta Configura una pipeline Delta Live Tables serverless.
Selezionare un criterio del cluster
Gli utenti devono disporre dell'autorizzazione per distribuire le risorse di calcolo per configurare e aggiornare le pipeline di tabelle live Delta. Gli amministratori dell'area di lavoro possono configurare i criteri del cluster per fornire agli utenti l'accesso alle risorse di calcolo per le tabelle live Delta. Consultare Definire i limiti nel calcolo della pipeline di Delta Live Tables.
Nota
I criteri del cluster sono facoltativi. Controlla con l'amministratore del tuo spazio di lavoro se ti mancano i privilegi di calcolo necessari per Delta Live Tables.
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
È possibile usare i tag di cluster per monitorare l'utilizzo dei cluster della pipeline. Aggiungi tag cluster nell'interfaccia utente di Delta Live Tables quando crei o modifichi una pipeline oppure modificando le impostazioni JSON per i cluster della pipeline.
Selezionare i tipi di istanza per eseguire una pipeline
Per impostazione predefinita, Delta Live Tables seleziona i tipi di istanza per i nodi driver e worker della tua 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. È possibile configurare i tipi di istanza quando si crea o modifica una pipeline con l'API REST o nell'interfaccia utente di Delta Live Tables.
Per configurare i tipi di istanza quando si crea o si modifica una pipeline nell'interfaccia utente di Tabelle live Delta:
- Fare clic sul pulsante Settings .
- 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 di Tabelle Live Delta ha due cluster associati.
- Il cluster
updates
elabora 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 fornita alcuna impostazione per l'etichetta. L'impostazione dell'etichetta del cluster è necessaria solo se si devono personalizzare le impostazioni per tipi di cluster diversi.
- L'etichetta
default
definisce le impostazioni di calcolo per iupdates
cluster 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 che si applicano solo al clusterupdates
. Usarlo per configurare le impostazioni che non devono essere applicate almaintenance
cluster.
Le impostazioni definite usando le etichette default
e updates
vengono unite per creare la configurazione finale per il cluster updates
. Se la stessa impostazione viene definita usando entrambe le etichette default
e updates
, 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"
}
}
]
}
Le Delta Live Tables hanno opzioni analoghe 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 Ambiente di calcolo.
Nota
Poiché il runtime delta live tables 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 del 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 a entrambi i cluster updates
e maintenance
, usare l'etichetta default
o omettere l'impostazione per l'etichetta. Se non viene fornita alcuna impostazione per l'etichetta, l'etichetta default
viene applicata alle configurazioni del cluster della pipeline. Vedere Configurazioni di calcolo avanzate.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"..." : "..."
}
]
}
Arresto ritardato del calcolo
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 è abilitata la modalità production
, il valore predefinito per pipelines.clusterShutdown.delay
è 0 seconds
. Quando è abilitata la modalità development
, il valore predefinito è 2 hours
.
Nota
Poiché un cluster Delta Live Tables 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 sempre almeno un ruolo di lavoro attivo fino al completamento.
Configurazione di cluster di esempio per creare un cluster a nodo singolo in Tabelle Live Delta:
{
"clusters": [
{
"num_workers": 0
}
]
}