Che cosa sono le viste materializzate del lago in Microsoft Fabric?

In Microsoft Fabric, una vista lake materializzata viene mantenuta e aggiornata automaticamente. È possibile definirlo in Spark SQL o PySpark. Semplifica le trasformazioni multistage Lakehouse, in genere l'architettura da bronzo a argento a medaglia d'oro, esprimendole come istruzioni dichiarative anziché processi Spark personalizzati. Dopo aver materializzato un MLV, funziona come una tabella Lakehouse standard in termini di archiviazione, modelli di accesso e sicurezza. È possibile eseguirne una query tramite qualsiasi motore di Fabric con le stesse autorizzazioni e lo stesso modello di governance. Fabric tiene traccia delle dipendenze tra MLV, orchestra gli aggiornamenti nell'ordine corretto e applica vincoli di qualità dei dati in ogni fase. Questa funzionalità consente ai data engineer di creare pipeline affidabili e gestibili con meno codice e sovraccarico operativo.

Quando usare viste lake materializzate

Le viste del lago materializzate sono adatte quando si dispone di:

  • Aggregazioni a cui si accede di frequente (totali delle vendite giornaliere, metriche mensili) in cui i risultati pre-calcolati migliorano le prestazioni rispetto all'esecuzione ripetuta di query costose
  • Join complessi tra più tabelle di grandi dimensioni interrogate frequentemente e per cui servono risultati coerenti per tutti gli utenti
  • Trasformazioni della qualità dei dati da applicare in modo uniforme, con regole definite in modo dichiarativo anziché in codice personalizzato
  • Set di dati di report che combinano dati da più origini e traggono vantaggio dall'aggiornamento automatico quando cambiano i dati di origine
  • Architettura Medallion in cui le trasformazioni Bronzo → Argento → Oro devono essere definite in SQL.

Le viste lake materializzate non sono la scelta giusta per ogni scenario. Prendere in considerazione le alternative quando si dispone di:

  • Query ad accesso singolo o raramente utilizzate che non traggono vantaggio dai risultati precalcolati
  • Logica non SQL, ad esempio inferenza ML, chiamate API o elaborazione complessa in Python: usare invece i notebook Spark
  • Dati di streaming ad alta frequenza che richiedono aggiornamenti inferiori al secondo - considera invece Real-Time Intelligence

Annotazioni

Questa funzionalità non è attualmente disponibile nell'area Stati Uniti centro-meridionali.

Introduzione alle viste materializzate del lago

Per creare una vista lago materializzata in Microsoft Fabric, vedere Introduzione alle viste lake materializzate. Per una procedura dettagliata completa che costruisce un'architettura medallion, vedere Esercitazione: Creare un'architettura medallion con viste lake materializzate.

Come funzionano le viste del lago materializzate?

Le viste lake materializzate usano un approccio dichiarativo: si scrive una query SQL per definire la trasformazione e Fabric gestisce l'esecuzione, l'archiviazione e l'aggiornamento. Il risultato viene salvato come tabella Delta nella lakehouse, in modo che i consumer a valle possano interrogarla direttamente senza dover eseguire nuovamente la trasformazione.

Il ciclo di vita di una vista lago materializzata segue quattro fasi:

  • Creazione: scrivere una query SQL che definisce la trasformazione. Fabric archivia la definizione e materializza i risultati come tabella Delta.
  • Aggiornamento: quando cambiano i dati di origine, Fabric determina la strategia di aggiornamento ottimale, ovvero incrementale (elabora solo dati nuovi o modificati), completa (ricompilazione completa) o ignora (nessuna modifica rilevata).
  • Query: le applicazioni e i report eseguono query sulla vista materializzata del lago allo stesso modo di una normale tabella Delta, senza conoscere la logica di trasformazione sottostante.
  • Monitor: tenere traccia della cronologia degli aggiornamenti, dello stato di esecuzione, delle metriche della qualità dei dati e della derivazione delle dipendenze tramite strumenti di Fabric predefiniti.

Opzioni di creazione di contenuti

Le viste materializzate del lago supportano due approcci per l'autoria.

  • Creazione di SQL: definire le viste usando istruzioni SQL CREATE MATERIALIZED LAKE VIEW standard direttamente nell'editor Fabric lakehouse.

  • Creazione in PySpark (anteprima): creare, aggiornare e sostituire viste dai notebook di Fabric usando DataFrameWriter. Supporto delle viste create da PySpark:

    • Vincoli relativi alla qualità dei dati
    • Proprietà della tabella
    • Aggiornamenti pianificati

    Annotazioni

    Le viste create da PySpark attualmente eseguono solo l'aggiornamento completo.

Funzionalità chiave

Le viste materializzate del lago includono funzionalità predefinite che gestiscono la complessità operativa che altrimenti gestiresti da solo in notebook e pipeline.

Ottimizzazione automatica dell'aggiornamento

Fabric determina automaticamente quando e come aggiornare le viste lake materializzate. Un motore decisionale seleziona la strategia di aggiornamento più efficiente e rileva le modifiche ai dati di origine per impostazione predefinita tramite il feed di dati delle modifiche:

  • Aggiornamento incrementale: elabora solo i dati nuovi o modificati.
  • Aggiornamento completo: ricompila l'intera vista lake materializzata quando necessario.
  • Ignora aggiornamento: Fabric ignora l'aggiornamento quando i dati di origine non contengono modifiche.

Per sbloccare l'aggiornamento incrementale, è necessario abilitare il feed dei dati di modifica Delta (CDF) nelle tabelle di origine a cui fa riferimento la vista del lake materializzata. Senza CDF abilitato, il motore decisionale sceglie tra ignorare l'aggiornamento e l'aggiornamento completo. Per altre informazioni, vedere Aggiornamento ottimale per le viste sul lago materializzate in una lakehouse.

L'aggiornamento ottimale supporta una gamma di modelli di query comuni, tra cui:

  • Aggregazioni con GROUP BY
  • Join esterni sinistri e semi join
  • Espressioni di tabella comuni (CTE)

Qualità dei dati predefinita

Le viste materializzate dei laghi supportano regole dichiarative di qualità dei dati. Definire i vincoli direttamente in SQL e specificare come gestire le violazioni.

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Gestione delle dipendenze

Quando le viste del lago materializzate fanno riferimento ad altre viste del lago materializzate o tabelle, Fabric rileva automaticamente tali relazioni e gestisce l'ordine di esecuzione per te.

  • Visualizzare il modo in cui le viste del lago materializzate dipendono l'una dall'altra, tra le case del lago.
  • L'ordine viene aggiornato automaticamente in base alle dipendenze.
  • L'elaborazione segue la catena di dipendenze per garantire la coerenza dei dati.

Monitoraggio e informazioni dettagliate

Fabric offre strumenti predefiniti per tenere traccia dell'integrità e delle prestazioni delle viste lake materializzate:

  • Tenere traccia delle prestazioni di aggiornamento e dello stato di esecuzione per ogni vista lake materializzata.
  • Visualizzare le metriche della qualità dei dati e i conteggi delle violazioni nella derivazione.
  • Monitora le istanze dei processi e la cronologia degli aggiornamenti nella vista Esecuzioni recenti.

Oltre all'hub di monitoraggio run-by-run, Fabric ora mostra lo stato operativo per ogni lakehouse direttamente nella pagina Esecuzioni recenti, tramite sottoschede affiancate per Analisi e Approfondimenti:

Sotto-scheda Risponde alla domanda Pagina Learn
Esecuzioni recenti Quali esecuzioni individuali si sono verificate ed è possibile annullarle o visualizzarne i dettagli? Esecuzioni recenti di viste lago materializzate
Analisi Qual è l'andamento del tasso di successo, della durata, degli errori principali e della combinazione dei criteri di aggiornamento, visualizzato in grafici sulle stesse esecuzioni? Visualizza l'analisi relativa alle esecuzioni delle viste materializzate del lake
Intuizioni Cosa non funziona o è in regressione, con link diretti accessibili in un clic alla vista che non funziona? Visualizzare approfondimenti sulle esecuzioni della vista lake materializzata

Per l'accesso programmatico agli stessi dati, Fabric scrive nel lakehouse le tabelle di sistema sotto lo schema _mlv_system: sys_run_metrics, sys_node_metrics e sys_error_metrics.

Importante

Non modificare lo schema _mlv_system. Le modifiche influiscono sugli aggiornamenti delle schede Analisi e Informazioni dettagliate .

sicurezza

Le viste materializzate del lake di Fabric seguono i criteri di sicurezza e governance per le tabelle Lakehouse. Puoi anche usare gli MLVs nei lakehouse abilitati per collegamento privato. Per altre informazioni sulle collegamento privato in Fabric, vedere Sicurezza.