Condividi tramite


Modalità di pipeline attivate e continue

Questo articolo descrive la semantica operativa delle modalità di pipeline attivate e continue per le tabelle Live Delta.

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 trigger a continuo, usare l'opzione Modalità pipeline nelle impostazioni della pipeline durante la creazione o la modifica di una pipeline. Vedere Configurare una pipeline di tabelle live Delta.

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 usa la modalità attivata , il sistema interrompe l'elaborazione dopo aver aggiornato tutte le tabelle o le tabelle selezionate, assicurandosi che ogni tabella nell'aggiornamento venga aggiornata in base ai dati disponibili all'avvio dell'aggiornamento.

Che cos'è la modalità pipeline continua?

Se la pipeline usa l'esecuzione continua, Delta Live Tables elabora nuovi dati man mano che arrivano nelle origini dati per mantenere aggiornate le tabelle in tutta la pipeline.

Per evitare elaborazioni inutili in modalità di esecuzione continua, le pipeline monitorano automaticamente le tabelle Delta dipendenti ed eseguono un aggiornamento solo quando il contenuto di tali tabelle è cambiato.

Scegliere una modalità della pipeline di dati

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

Domande principali Attivato Continuo
Quando si arresta l'aggiornamento? In automatico, una volta completato. Viene eseguito in modo continuo fino a quando non viene arrestato manualmente.
Quali dati vengono elaborati? Dati disponibili all'avvio dell'aggiornamento. Tutti i dati che arrivano alle origini configurate.
Per quali requisiti di aggiornamento dei dati è più indicato? 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 e le spese delle risorse perché il cluster viene eseguito solo a lungo 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, il 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, 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 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 su una pipeline, aggiungerlo all'oggetto configuration nelle impostazioni della pipeline:

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