Condividi tramite


Modalità di pipeline attivate e continue

Questo articolo descrive la semantica operativa delle modalità di pipeline attivate e continue per DLT.

La modalità pipeline è indipendente dal tipo di tabella da calcolare. Entrambe le viste materializzate e le tabelle di streaming possono essere aggiornate in entrambe le modalità pipeline.

Per passare da attivato a continuo, utilizzare l'opzione modalità pipeline nelle impostazioni di configurazione della pipeline durante la creazione o la modifica di una pipeline. Consulta Configurare una pipeline DLT.

Nota

Le operazioni di aggiornamento per le viste materializzate e le tabelle di streaming definite in Databricks SQL vengono sempre eseguite usando la modalità pipeline attivata.

Che cos'è la modalità pipeline attivata?

Se la pipeline utilizza la modalità innescato, il sistema interromperà l'elaborazione dopo un aggiornamento riuscito di tutte le tabelle o delle tabelle selezionate, verificando che ciascuna tabella dell'aggiornamento sia aggiornata in base ai dati disponibili all'inizio dell'aggiornamento.

Che cos'è la modalità pipeline continua?

Se la pipeline usa 'esecuzione continua, DLT elabora nuovi dati man mano che arriva nelle origini dati per mantenere aggiornati le tabelle in tutta la pipeline.

Per evitare l'elaborazione non necessaria in modalità di esecuzione continua, le pipeline monitorano automaticamente le tabelle Delta dipendenti ed eseguono un aggiornamento solo quando il contenuto di tali tabelle dipendenti è stato modificato.

Scegli una modalità per la pipeline di dati

La tabella seguente evidenzia le differenze tra le modalità di pipeline attivate e continue:

Domande chiave Attivato Continuo
Quando l'aggiornamento si arresta? Automaticamente una volta completato. Funziona in modo continuo fino a quando non viene arrestato manualmente.
Quali dati vengono elaborati? Dati disponibili all'avvio dell'aggiornamento. Tutti i dati man mano che arrivano alle origini configurate.
Quali requisiti di aggiornamento dei dati sono ideali per? Gli aggiornamenti dei dati vengono eseguiti ogni 10 minuti, ogni ora o ogni giorno. Gli aggiornamenti dei dati sono desiderati tra 10 secondi e alcuni minuti.

Le pipeline attivate possono ridurre il consumo di risorse e le spese perché il cluster viene eseguito solo il tempo necessario per aggiornare la pipeline. Tuttavia, i nuovi dati non verranno elaborati finché non viene attivata la pipeline. Le pipeline continue richiedono un cluster sempre in esecuzione, che è più costoso, ma riduce la latenza di elaborazione.

Impostare l'intervallo di trigger per le pipeline continue

Quando si configurano le pipeline per la modalità continua, è possibile impostare intervalli di trigger per controllare la frequenza con cui la pipeline avvia un aggiornamento per ogni flusso.

È possibile usare pipelines.trigger.interval per controllare l'intervallo di trigger per un flusso che aggiorna una tabella o un'intera pipeline. Poiché una pipeline attivata elabora ogni tabella una sola volta, la pipelines.trigger.interval viene usata solo con pipeline continue.

Databricks consiglia di impostare pipelines.trigger.interval su singole tabelle perché le query di streaming e batch hanno impostazioni predefinite diverse. Impostare il valore in una pipeline solo quando l'elaborazione richiede il controllo degli aggiornamenti per l'intero grafico della pipeline.

È possibile impostare pipelines.trigger.interval in una tabella usando spark_conf in Python o SET in SQL:

@dlt.table(
  spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
    return (<query>)
SET pipelines.trigger.interval=10 seconds;

CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...

Per impostare pipelines.trigger.interval in una pipeline, aggiungerla all'oggetto configuration nelle impostazioni della pipeline:

{
  "configuration": {
    "pipelines.trigger.interval": "10 seconds"
  }
}