Configurare il calcolo per una pipeline di tabelle live Delta
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. Vedere Configurare una pipeline di tabelle live Delta serverless.
Selezionare un criterio del cluster
Gli utenti devono disporre dell'autorizzazione per distribuire le risorse di calcolo per configurare e aggiornare le pipeline delle tabelle Delta Live. 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 Delta Live. Vedere Definire i limiti per il calcolo della pipeline delle tabelle Delta Live.
Nota
I criteri del cluster sono facoltativi. Rivolgersi all'amministratore dell'area di lavoro se non sono necessari i privilegi di calcolo necessari per le tabelle Live Delta.
Per assicurarsi che i valori predefiniti dei criteri del cluster siano applicati correttamente, impostare su
apply_policy_default_values
true
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. Aggiungere tag cluster nell'interfaccia utente di Tabelle live Delta 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, Le tabelle live Delta selezionano 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. È possibile configurare i tipi di istanza quando si crea o modifica una pipeline con l'API REST o nell'interfaccia utente di Tabelle Delta Live.
Per configurare i tipi di istanza quando si crea o si modifica una pipeline nell'interfaccia utente di Tabelle Delta Live:
- Fare clic sul pulsante Settings .
- Nella sezione Avanzate delle impostazioni della pipeline, nei menu a discesa Tipo di lavoro 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 Delta Live Tables 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 tabelle Delta Live hanno 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 Ambiente di calcolo.
Nota
Poiché il runtime di 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 num_workers
viene impostato 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 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.
Di seguito è riportato un esempio di configurazione del cluster per creare un cluster a nodo singolo nelle Delta Live Table:
{
"clusters": [
{
"num_workers": 0
}
]
}