Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando viene eseguito un aggiornamento della pipeline, aggiorna le viste materializzate e le tabelle di streaming definite nella pipeline in modo che i risultati riflettano lo stato corrente dei dati di origine. Il modo in cui un set di dati viene aggiornato dipende dal tipo e dal tipo di aggiornamento. Per informazioni su come attivare e gestire gli aggiornamenti, vedere Eseguire un aggiornamento della pipeline.
Tipi di aggiornamento
Per impostazione predefinita, ogni vista materializzata e tabella di streaming in una pipeline viene aggiornata con ogni aggiornamento. La tabella seguente riepiloga il comportamento di ogni tipo di aggiornamento:
| Tipo di aggiornamento | Vista materializzata | Tabella di streaming |
|---|---|---|
| Aggiornamento (impostazione predefinita) | Aggiorna i risultati per riflettere i risultati attuali della query di definizione. Azure Databricks esamina il costo ed esegue un aggiornamento incrementale quando è più efficiente. | Elabora nuovi record tramite la logica definita nelle tabelle e nei flussi di streaming. |
| Aggiornamento completo | Ricalcola i risultati per riflettere i risultati attuali della query che lo definisce. | Cancella i dati dalle tabelle di streaming, cancella i checkpoint dai flussi e rielabora tutti i record dall'origine dei dati. |
| Reimposta i punti di controllo del flusso di streaming | Non applicabile alle viste materializzate. | Cancella i checkpoint nei flussi, ma non cancella i dati dalle tabelle di streaming, quindi rielabora tutti i record dalla fonte dati. |
Aggiornamento (impostazione predefinita)
Un aggiornamento predefinito aggiorna un set di dati in modo da riflettere i risultati correnti della query di definizione.
Le tabelle di streaming sono intrinsecamente incrementali. Un aggiornamento della tabella di streaming valuta solo i record arrivati dall'ultimo aggiornamento e li aggiunge, usando la definizione corrente della tabella. I record meno recenti non vengono rielaborati, quindi le modifiche che potrebbero influire sui dati già scritti non vengono applicate. In altre parole, un aggiornamento predefinito di una tabella di streaming scambia la correttezza dei dati per ridurre i tempi e i costi delle risorse. Per rielaborare i dati meno recenti, eseguire un aggiornamento completo o reimpostare i checkpoint del flusso.
Le viste materializzate tentano un aggiornamento incrementale ma elaborano nuovamente tutti i record quando necessario per mantenere la tabella completamente accurata. Una vista materializzata viene aggiornata usando uno dei due metodi seguenti:
- L'aggiornamento incrementale identifica le modifiche apportate dall'ultimo aggiornamento e unisce solo i dati nuovi o modificati.
- L'aggiornamento completo esegue l'intera query e sostituisce i dati esistenti quando un aggiornamento incrementale non è possibile o non è conveniente.
Per impostazione predefinita, Azure Databricks usa un modello di costo per scegliere il metodo più conveniente. È possibile ignorare questa scelta con un criterio di aggiornamento. Per la semantica, i requisiti e SQL supportati per l'aggiornamento incrementale, vedere Aggiornamento incrementale per le viste materializzate.
Aggiornamento completo
Un aggiornamento completo elabora tutti i record dai dati di origine tramite la logica che definisce il set di dati:
- Per una vista materializzata, un aggiornamento completo ricompila l'intero risultato. Poiché le viste materializzate restituiscono sempre lo stesso risultato di una query batch, un aggiornamento predefinito e un aggiornamento completo producono dati identici.
- Per una tabella in streaming, un aggiornamento completo svuota la tabella, cancella i checkpoint di streaming dei relativi flussi e rielabora ogni record dalla sorgente.
Poiché un aggiornamento completo rielabora tutti i dati di origine, il tempo e i costi aumentano in funzione delle dimensioni di tali dati. Databricks consiglia di eseguire un aggiornamento completo solo quando necessario, ad esempio quando una definizione o una modifica dello schema non è compatibile con i dati esistenti. Un aggiornamento completo di una tabella di streaming può eliminare i record se l'origine non conserva più i dati originali, ad esempio un argomento Kafka oltre la relativa finestra di conservazione.
Per informazioni su quando e su come eseguire un aggiornamento completo di una tabella di streaming, vedere Aggiornamento completo per le tabelle di streaming.
Reimposta checkpoint
La reimpostazione dei checkpoint si applica solo alle tabelle di streaming. Cancella i checkpoint di streaming per i flussi selezionati senza cancellare i dati già scritti nella tabella di streaming, quindi rielabora tutti i record dall'origine attraverso tali flussi. A differenza di un aggiornamento completo, i dati della tabella esistenti vengono mantenuti.
Usare questa opzione quando si vuole rielaborare un'origine di streaming per i flussi selezionati, ad esempio dopo aver modificato la logica di un flusso, senza troncare la tabella.
La reimpostazione dei checkpoint viene attivata tramite l'API REST di Lakeflow Spark Declarative Pipelines. Per i passaggi, vedere Avviare un aggiornamento della pipeline per cancellare i checkpoint dei flussi di streaming selettivi.