Eseguire un aggiornamento in una pipeline di tabelle live Delta
Questo articolo illustra gli aggiornamenti della pipeline e fornisce informazioni dettagliate su come attivare un aggiornamento.
Che cos'è un aggiornamento della pipeline?
Dopo aver creato una pipeline e essere pronti a eseguirla, si avvia un aggiornamento . Un aggiornamento della pipeline esegue le operazioni seguenti:
- Avvia un cluster con la configurazione corretta.
- Individua tutte le tabelle e le viste definite e verifica eventuali errori di analisi, ad esempio nomi di colonne non validi, dipendenze mancanti ed errori di sintassi.
- Crea o aggiorna tabelle e viste con i dati più recenti disponibili.
Usando un aggiornamento di convalida , è possibile verificare la presenza di problemi nel codice sorgente di una pipeline senza attendere la creazione o l'aggiornamento delle tabelle. Questa funzionalità è utile durante lo sviluppo o il test delle pipeline perché consente di trovare e correggere rapidamente gli errori nella pipeline, ad esempio nomi di tabella o colonna non corretti.
Come vengono attivati gli aggiornamenti della pipeline?
Usare una delle opzioni seguenti per avviare gli aggiornamenti della pipeline:
Trigger di aggiornamento | Dettagli |
---|---|
Manuale | È possibile attivare manualmente gli aggiornamenti della pipeline dall'interfaccia utente della pipeline, dall'elenco delle pipeline o da un notebook collegato a una pipeline. Consulta attivare manualmente un aggiornamento della pipeline e sviluppare ed eseguire il debug delle pipeline Delta Live Tables nei notebook. |
Programmato | È possibile pianificare gli aggiornamenti per le pipeline usando i processi. Per l'attività della pipeline Delta Live Tables riferita ai processi, vedere il compito |
Programmatico | È possibile attivare gli aggiornamenti a livello di codice usando strumenti, API e INTERFACCE CLI di terze parti. Vedere Esegui una pipeline di Delta Live Tables in un flusso di lavoro e API della pipeline. |
Attivare manualmente un aggiornamento della pipeline
Usare una delle opzioni seguenti per attivare manualmente un aggiornamento della pipeline:
- Fare clic sul pulsante icona di avvio
nella pagina dei dettagli della pipeline.
- Nell'elenco delle pipeline, fare clic su
nella colonna Azioni.
Nota
Il comportamento predefinito per gli aggiornamenti della pipeline attivati manualmente consiste nell'aggiornare tutti i set di dati definiti nella pipeline.
Semantiche di aggiornamento della pipeline
La tabella seguente descrive i comportamenti per le viste materializzate e le tabelle di streaming per l'aggiornamento predefinito e l'aggiornamento completo:
Tipo di aggiornamento | Semantica di visualizzazione materializzata | Semantica della tabella di streaming |
---|---|---|
Aggiornamento (impostazione predefinita) | Aggiorna i risultati per riflettere i risultati attuali per la query definita. | Elabora nuovi record tramite la logica definita nelle tabelle di streaming e nei flussi. |
Aggiornamento completo | Aggiorna i risultati per riflettere i risultati attuali per la query definita. | Cancella i dati dalle tabelle di streaming, cancella le informazioni sullo stato (checkpoint) dai flussi e rielabora tutti i record dall'origine dati. |
Per impostazione predefinita, tutte le viste materializzate e le tabelle di streaming in una pipeline si aggiornano con ogni aggiornamento. Facoltativamente, è possibile omettere tabelle dagli aggiornamenti usando le funzionalità seguenti:
- Selezionare le tabelle per l'aggiornamento: usare questa interfaccia utente per aggiungere o rimuovere viste materializzate e tabelle di streaming prima di eseguire un aggiornamento. Vedere Avviare un aggiornamento della pipeline per le tabelle selezionate.
- Aggiornare le tabelle non riuscite: avviare un aggiornamento per le viste materializzate non riuscite e le tabelle di streaming, incluse le dipendenze downstream. Consulta Avvia un aggiornamento della pipeline per le tabelle fallite.
Entrambe queste funzionalità supportano la semantica di aggiornamento predefinita o l'aggiornamento completo. Facoltativamente, è possibile utilizzare la finestra di dialogo Seleziona tabelle per l'aggiornamento per non includere ulteriori tabelle durante l'esecuzione di un aggiornamento per le tabelle che non sono state aggiornate con successo.
È consigliabile usare un aggiornamento completo?
Databricks consiglia di eseguire aggiornamenti completi solo quando necessario. Un aggiornamento completo rielabora sempre tutti i record dalle origini dati specificate tramite la logica che definisce il set di dati. Il tempo e le risorse per completare un aggiornamento completo sono correlati alle dimensioni dei dati di origine.
Le viste materializzate restituiscono gli stessi risultati se viene usato l'aggiornamento predefinito o completo. L'uso di un aggiornamento completo con le tabelle di streaming reimposta tutte le informazioni sull'elaborazione dello stato e sul checkpoint e può comportare l'eliminazione di record se i dati di input non sono più disponibili.
Databricks raccomanda l'aggiornamento totale solo quando le sorgenti dati contengono i dati necessari per ricreare lo stato desiderato della tabella o della vista. Si considerino gli scenari seguenti in cui i dati di origine di input non sono più disponibili e il risultato dell'esecuzione di un aggiornamento completo:
L'origine dei dati | Motivo per cui i dati di input sono assenti | Risultato dell'aggiornamento completo |
---|---|---|
Kafka | Soglia di conservazione breve | I record non più presenti nell'origine Kafka vengono eliminati dalla tabella di destinazione. |
File nell'archivio oggetti | Politica del ciclo di vita | I file di dati non più presenti nella directory di origine vengono eliminati dalla tabella di destinazione. |
Record in una tabella | Eliminato per la conformità | Vengono elaborati solo i record presenti nella tabella di origine. |
Per impedire l'esecuzione di aggiornamenti completi in una tabella o in una vista, impostare la proprietà della tabella pipelines.reset.allowed
su false
. Vedere proprietà della tabella Delta Live Tables. È anche possibile usare un processo di aggiunta per aggiungere dati a una tabella di streaming esistente senza richiedere un aggiornamento completo.
Avviare un aggiornamento della pipeline per le tabelle selezionate
Facoltativamente, è possibile rielaborare i dati solo per le tabelle selezionate nella pipeline. Durante lo sviluppo, ad esempio, si modifica una singola tabella e si vuole ridurre il tempo di test oppure un aggiornamento della pipeline non riesce e si vuole aggiornare solo le tabelle non riuscite .
Nota
È possibile utilizzare l'aggiornamento selettivo esclusivamente con pipeline attivate.
Per avviare un aggiornamento che aggiorna solo le tabelle selezionate, nella pagina dettagli della pipeline
Fare clic su Selezionare le tabelle per l'aggiornamento. Compare la finestra di dialogo Seleziona tabelle per l'aggiornamento.
Se non viene visualizzato il pulsante
Selezionare le tabelle per l'aggiornamento , verificare che nella pagina dettagli della pipelinesia visualizzato l'aggiornamento più recente e che l'aggiornamento sia completo. Se non viene visualizzato un DAG per l'aggiornamento più recente, se ad esempio l'aggiornamento non è riuscito, il pulsante Seleziona le tabelle per l'aggiornamento non viene visualizzato. Per selezionare le tabelle da aggiornare, fare clic su ogni tabella. Le tabelle selezionate sono evidenziate ed etichettate. Per rimuovere una tabella dall'aggiornamento, fare di nuovo clic sulla tabella.
Fare clic su Aggiorna Selezione.
Nota
Il pulsante Aggiorna selezione visualizza il numero di tabelle selezionate tra parentesi.
Per rielaborare i dati già inseriti per le tabelle selezionate, fare clic su accanto al pulsante Aggiorna selezione e fare clic su Aggiorna selezione completo.
Avvia un aggiornamento della pipeline per le tabelle fallite
Se un aggiornamento della pipeline ha esito negativo a causa di errori in una o più tabelle nel grafico della pipeline, è possibile avviare un aggiornamento solo di tabelle non riuscite e di eventuali dipendenze downstream.
Nota
Le tabelle escluse non vengono aggiornate, anche se dipendono da una tabella non riuscita.
Per aggiornare le tabelle non riuscite, nella pagina dettagli della pipeline , fare clic su Aggiorna le tabelle non riuscite.
Per aggiornare solo le tabelle selezionate che non sono riuscite:
Fare clic sul pulsante Giù
accanto al pulsante Aggiorna tabelle non riuscite e selezionare le tabelle per l'aggiornamento . Compare la finestra di dialogo Seleziona tabelle per l'aggiornamento.
Per selezionare le tabelle da aggiornare, fare clic su ogni tabella. Le tabelle selezionate sono evidenziate ed etichettate. Per rimuovere una tabella dall'aggiornamento, fare di nuovo clic sulla tabella.
Fare clic su Aggiorna Selezione.
Nota
Il pulsante Aggiorna selezione visualizza il numero di tabelle selezionate tra parentesi.
Per rielaborare i dati già inseriti per le tabelle selezionate, fare clic su accanto al pulsante Aggiorna selezione e fare clic su Aggiorna selezione completo.
Controllare la presenza di errori in una pipeline senza attendere l'aggiornamento delle tabelle
Importante
Funzionalità di aggiornamento delle tabelle live Delta Validate
è attualmente in anteprima pubblica .
Per verificare se il codice sorgente di una pipeline è valido senza eseguire un aggiornamento completo, usare Convalidare. Un aggiornamento Validate
risolve le definizioni dei set di dati e dei flussi definiti nella pipeline, ma non materializza o pubblica alcun set di dati. Gli errori rilevati durante la convalida, ad esempio nomi di tabella o colonna non corretti, vengono segnalati nell'interfaccia utente.
Per eseguire un aggiornamento di Validate
, fare clic su nella pagina dei dettagli della pipeline accanto a Start e fare clic su Convalida.
Al termine dell'aggiornamento Validate
, il registro eventi mostra gli eventi correlati solo all'aggiornamento Validate
e nessuna metrica viene visualizzata nel DAG. Se vengono rilevati errori, i dettagli sono disponibili nel registro eventi.
È possibile visualizzare i risultati solo per l'aggiornamento Validate
più recente. Se l'aggiornamento Validate
è stato l'aggiornamento eseguito più di recente, è possibile visualizzare i risultati selezionandolo nella cronologia degli aggiornamenti . Se un altro aggiornamento viene eseguito dopo l'aggiornamento Validate
, i risultati non sono più disponibili nell'interfaccia utente.
Modalità di sviluppo e di produzione
È possibile ottimizzare l'esecuzione della pipeline passando da una modalità di sviluppo a quella di produzione. Usare i pulsanti dell'icona di attivazione/disattivazione dell'ambiente Delta Live Tables nell'interfaccia utente delle pipeline per passare da una modalità all'altra. Per impostazione predefinita, le pipeline vengono eseguite in modalità di sviluppo.
Quando si esegue la pipeline in modalità di sviluppo, il sistema Delta Live Tables esegue le operazioni seguenti:
- Riutilizza un cluster per evitare il sovraccarico dei riavvii. Per impostazione predefinita, i cluster vengono eseguiti per due ore quando è abilitata la modalità di sviluppo. È possibile modificare questa impostazione con l'impostazione
pipelines.clusterShutdown.delay
nella Configurare le risorse di calcolo per una pipeline di tabelle live Delta. - Disabilita i tentativi di pipeline in modo da poter rilevare e correggere immediatamente gli errori.
In modalità di produzione, il sistema Delta Live Tables esegue le operazioni seguenti:
- Riavvia il cluster per errori ripristinabili specifici, incluse perdite di memoria e credenziali non aggiornati.
- Ritenta l'esecuzione in caso di errori specifici, ad esempio un errore di avvio di un cluster.
Nota
Il passaggio dalla modalità di sviluppo a quella di produzione controlla solo il comportamento di esecuzione del cluster e della pipeline. I luoghi di archiviazione e gli schemi di destinazione nel catalogo per la pubblicazione delle tabelle devono essere configurati come parte delle impostazioni della pipeline e non vengono influenzati quando si passa da una modalità all'altra.