Introduzione alle viste materializzate del lago

In questo avvio rapido, crei tabelle sorgente in una casa del lago in Microsoft Fabric, definisci le visualizzazioni materializzate dei laghi per trasformare i dati grezzi attraverso fasi progressive e imposti i programmi di aggiornamento. Alla fine, si ottiene una pipeline bronze-to-gold completamente funzionante, con orchestrazione che tiene conto delle dipendenze e tracciamento della provenienza dei dati.

Prerequisiti

Creare la prima vista lake materializzata

  1. Vai al Fabric portal e vai alla tua area di lavoro.

  2. Apri il Lakehouse e seleziona Materialized lake views.

    Screenshot che mostra la voce del menu per la gestione delle viste materializzate del lago.

  3. Selezionare Nuovo>Nuovo notebook>Crea con Spark SQL. In alternativa, è possibile selezionare Apri notebook nell'area di disegno principale.

    Screenshot delle selezioni per l'apertura di un nuovo notebook per creare una vista materializzata del lago.

    Verrà aperto un nuovo notebook con un modello per creare una vista lake materializzata.

    Annotazioni

    Se usi un tavolo in un magazzino come fonte per una vista materializzata sul lago, devi creare una scorciatoia per un tavolo nella tua casa sul lago.

  4. Creare le tabelle products di origine e orders. Immettere il comando SQL seguente nella cella del notebook esistente ed eseguirlo:

    CREATE SCHEMA IF NOT EXISTS bronze;
    
    CREATE TABLE IF NOT EXISTS bronze.products (
       product_id INT,
       product_name STRING,
       price DOUBLE
    );
    
    INSERT INTO bronze.products VALUES
    (101, 'Laptop', 1200.50),
    (102, 'Smartphone', 699.99),
    (103, 'Tablet', 450.00);
    
    CREATE TABLE IF NOT EXISTS bronze.orders (
       order_id INT,
       product_id INT,
       quantity INT,
       order_date DATE
       );
    
    INSERT INTO bronze.orders VALUES
       (1001, 101, 2, '2025-06-01'),
       (1002, 103, 1, '2025-06-02'),
       (1003, 102, 3, '2025-06-03');
    
  5. Aggiorna l'esploratore per visualizzare le tabelle products e orders appena create nello schema bronze. Selezionare + Codice per aggiungere una nuova cella sotto quella esistente.

    Screenshot che mostra le tabelle sorgente create in un Lakehouse.

  6. Abilitare il feed di dati delle modifiche nelle tabelle di origine in modo che l'aggiornamento ottimale possa usare l'elaborazione incrementale. Copiare il comando SQL seguente nella nuova cella ed eseguirlo:

    ALTER TABLE bronze.products SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
    ALTER TABLE bronze.orders SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
    

    Selezionare + Codice per aggiungere un'altra nuova cella.

  7. Creare viste lake materializzate dalle tabelle di origine. Copiare il comando SQL seguente nella nuova cella ed eseguirlo:

    CREATE SCHEMA IF NOT EXISTS silver;
    
    CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.cleaned_order_data AS
    SELECT 
       o.order_id,
       o.order_date,
       o.product_id,
       p.product_name,
       o.quantity,
       p.price,
       o.quantity * p.price AS revenue
    FROM bronze.orders o
    JOIN bronze.products p
    ON o.product_id = p.product_id;
    
    CREATE SCHEMA IF NOT EXISTS GOLD;
    
    CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS gold.product_sales_summary AS
    SELECT
       product_id,
       product_name,
       SUM(quantity) AS total_quantity_sold,
       SUM(revenue) AS total_revenue,
       ROUND(AVG(revenue), 2) AS average_order_value
    FROM
       silver.cleaned_order_data
    GROUP BY
       product_id,
       product_name;
    
  8. Aggiornare Lakehouse Explorer per visualizzare le viste materializzate lake appena create, rispettivamente cleaned_order_data e product_sales_summary, sotto gli schemi silver e gold.

    Screenshot che mostra le viste materializzate del lago create in una lakehouse.

  9. È possibile verificare ulteriormente i risultati eseguendo una query sulla vista materializzata del lake oro. Copiare il comando SQL seguente in una nuova cella ed eseguirlo:

    SELECT * FROM gold.product_sales_summary;
    

    L'output mostra tre righe, una per ogni prodotto, con la quantità totale venduta, i ricavi totali e il valore medio dell'ordine calcolato dai dati degli ordini di origine.

  10. Chiudere il notebook e tornare a Lakehouse. Seleziona Viste materializzate sul lago e seleziona Gestisci. Potrebbe essere necessario selezionare l'icona di aggiornamento per visualizzare la derivazione generata automaticamente.

    Screenshot che mostra la derivazione.

  11. Pianificare l'esecuzione della derivazione. Seleziona Gestisci pianificazioni dalla barra multifunzione. Nel pannello Gestisci i programmi , seleziona il pulsante Nuovo orario per creare un programma. Gira il pulsante radio per aggiornare il programma su Stato Acceso .

    Screenshot del pannello per la pianificazione del lineage.

  12. Seleziona le viste materializzate da aggiornare, scegli il tipo di aggiornamento desiderato, configura le impostazioni da utilizzare per l'aggiornamento e salva.

    Screenshot del riquadro per la pianificazione del lineage con opzioni aggiuntive.

  13. Vai alla pagina Recent run(s) per visualizzare l'avanzamento dell'esecuzione della lineage.

    Screenshot che mostra l'esecuzione recente.

  14. Seleziona una corsa in corso per monitorarne i progressi.

    Screenshot che mostra lo stato di avanzamento di un'attività in corso.

  15. Una volta completata la partita, lo stato della linea viene aggiornato.

    Screenshot che mostra un'esecuzione di derivazione completata.

Cosa succederà dopo

Ora che si dispone di un aggiornamento pianificato del lineage, Fabric mantiene automaticamente aggiornate le viste lake materializzate quando cambiano i dati di origine. Quando vengono inserite nuove righe nelle bronze.orders tabelle o bronze.products , l'esecuzione pianificata successiva rileva le modifiche, aggiorna prima la silver.cleaned_order_data visualizzazione (perché la visualizzazione oro dipende da essa) e quindi aggiorna gold.product_sales_summary con i totali aggiornati. Non è necessario gestire l'ordine di aggiornamento o scrivere la logica di orchestrazione. Fabric lo gestisce in base al grafico di derivazione.

Per altre informazioni sul comportamento di aggiornamento e su come Fabric determina la strategia ottimale (incrementale, completa o saltata), vedere Aggiornamento ottimale per le viste lake materializzate in una lakehouse. Per una guida dettagliata e panoramica completa che illustra questi concetti con un dataset più ampio, vedere Esercitazione: Implementare un'architettura medallion con viste materializzate del lake.