Quickstart: Consulta e consuma i dati di OneLake su Microsoft Fabric

In questo quickstart, userai tre motori di Fabric per interagire con la stessa tabella del lakehouse. Per prima cosa, si interroga la tabella usando l'endpoint SQL analytics. Poi, costruisci un report Power BI in modalità Direct Lake su quella stessa tabella. Infine, hai letto la stessa tabella da un quaderno Spark. Insieme, questi passaggi mostrano il modello principale di OneLake: una copia dei dati, più motori.

OneLake memorizza dati tabulari in formato Delta Parquet aperto sopra Azure Data Lake Storage (ADLS) Gen2. Questa base condivisa permette a diversi motori Fabric di lavorare con gli stessi dati senza doverli spostare o riformattarli per ogni esperienza. Strumenti e servizi che supportano ADLS Gen2, come Azure Databricks, Azure Synapse Analytics e applicazioni personalizzate, possono anch'essi accedere agli stessi dati da esterno a Fabric.

Prerequisiti

Consulta la tabella utilizzando l'endpoint di analisi SQL

Ogni lakehouse riceve automaticamente un endpoint di analisi SQL. L'endpoint legge direttamente dalle tabelle Delta in OneLake, quindi puoi eseguire query T-SQL sui dati del tuo lakehouse senza copiarli in uno store SQL separato.

  1. Nel portale Fabric, apri lo spazio di lavoro che contiene la tua casa sul lago e seleziona la casa sul lago.

  2. Nell'angolo superiore destro del lakehouse, seleziona Analizza i dati con>l'endpoint di analisi SQL dal menu a discesa per passare all'endpoint di analisi SQL dello stesso elemento.

    Uno screenshot del portale Fabric che mostra il passaggio all'endpoint SQL analytics.

  3. Nel menu endpoint SQL analytics, seleziona Nuova query SQL.

  4. Nell'editor di query, esegui la seguente query sulla dim_products tabella:

    Questa query raggruppa per categoria e sottocategoria per mostrare il numero di prodotti e il prezzo medio.

    SELECT
       category,
       subcategory,
       COUNT(*) AS products,
       ROUND(AVG(standard_price), 2) AS avg_price
    FROM (
       SELECT
          product_id,
          category,
          subcategory,
          standard_price,
          ROW_NUMBER() OVER (
             PARTITION BY product_id
             ORDER BY from_date DESC
          ) AS rn
       FROM dbo.dim_products
    ) latest
    WHERE rn = 1
    GROUP BY category, subcategory
    ORDER BY avg_price DESC;
    
  5. Rivedi i risultati nel pannello di uscita delle query.

    Uno screenshot del portale Fabric che mostra l'output di una query SQL.

Hai interrogato la tabella senza spostarla o duplicarla. L'endpoint SQL per l'analisi ha letto gli stessi file Delta in OneLake che il lakehouse usa.

Crea un report Power BI in modalità Direct Lake

Direct Lake è una modalità di archiviazione Power BI che legge le tabelle Delta da OneLake, quindi un modello semantico può fornire report senza importare o duplicare i dati. Direct Lake ha due modalità che leggono entrambi i dati da OneLake: Direct Lake su OneLake e Direct Lake su SQL. Differiscono per come il modello semantico scopre le tabelle e applica i permessi. Poiché questo avvio rapido parte dall'endpoint di analisi SQL, il flusso crea un modello semantico Direct Lake su SQL .

In questa sezione, costruisci un modello semantico e un semplice report sulla stessa dim_products tabella.

La vista del report mostra il prezzo medio dei prodotti per category, con ciascuna barra suddivisa in base a subcategory.

  1. Dal menu endpoint di SQL analytics, seleziona Nuovo modello semantico.

    Uno screenshot del portale Fabric che mostra la creazione di un modello semantico dall'endpoint SQL analytics.

  2. Inserisci un nome per il modello semantico, come dim_products_model. Seleziona la dim_products tabella e poi seleziona Conferma.

  3. Dal menu semantico del modello, seleziona Nuovo rapporto.

    Uno screenshot del portale Fabric che mostra la creazione di un report dal modello semantico.

  4. Nell'esperienza di creazione del report, espandi dim_products la tabella nel pannello Dati.

  5. Nel pannello Visualizzazioni , seleziona Schema a colonne impilato.

    Uno screenshot del portale Fabric che mostra la selezione del grafico a colonne impilate.

  6. Trascina category su asse X.

  7. Trascina standard_priceall'asse Y, poi imposta l'aggregazione su Media.

  8. Trascina subcategory su Legend per suddividere ogni categoria in sottocategorie.

    Uno screenshot del portale Fabric che mostra i risultati dei passaggi di costruzione del report.

  9. Sul ribbon, seleziona File>Save e salva il report nel tuo workspace.

Il report legge i dati dalla stessa tabella Delta in OneLake che hai appena interrogato con T-SQL. Non hai creato una seconda copia dei dati per alimentare il rapporto.

Leggi la stessa tabella da un taccuino Spark

I notebook Fabric ti danno un terzo motore rispetto agli stessi dati. Spark legge la dim_products tabella Delta direttamente da OneLake, senza passare per l'endpoint di analisi SQL o il modello semantico. Questo passaggio dimostra che un motore con uno stack di query completamente diverso funziona dagli stessi file sottostanti.

  1. Torna alla casa sul lago che contiene dim_products.

  2. Nel menu del lakehouse, seleziona Analizza i dati con>Notebook>Nuovo notebook. Il quaderno si apre con la tua casa sul lago già attaccata come casa predefinita.

  3. Nella prima cella di codice, incolla il seguente codice PySpark:

    Questo codice utilizza from_date come dimensione temporale e riassume il numero di prodotti e il prezzo medio per periodo e categoria.

    from pyspark.sql import functions as F
    
    df = spark.read.table("dim_products")
    
    summary = (
       df.groupBy("from_date", "category")
       .agg(
          F.count("*").alias("products"),
          F.round(F.avg("standard_price"), 2).alias("avg_price"),
       )
       .orderBy(F.col("from_date"), F.col("avg_price").desc())
    )
    
    display(summary)
    
  4. Seleziona Esegui cella (oppure premi Shift+Invio) per eseguire la cella. Il risultato mostra come i prezzi medi differiscano a seconda delle categorie tra le date di efficacia.

    Uno screenshot del portale Fabric che mostra i risultati del codice del notebook.

Spark legge direttamente i file Delta in OneLake. Nessun dato viene copiato in uno store specifico di Spark, e la tabella che hai interrogato è la stessa che supporta il tuo modello semantico. Ora hai una copia dei dati in OneLake che tre motori—l'endpoint di analisi SQL, Power BI Direct Lake e Spark—utilizzano tramite open storage e un formato open table, senza dover spostare o riformattare i dati.

Pulire le risorse

Se non hai intenzione di continuare a usare il modello semantico, il report e il notebook, eliminali dal tuo spazio di lavoro:

  1. Nel tuo workspace, passa il mouse sul modello semantico che hai creato e seleziona il menu più opzioni (...), poi seleziona Elimina.
  2. Ripeti l'operazione per il report e il notebook nel tuo spazio di lavoro.

L'eliminazione del report, del modello semantico o del notebook non influisce sul lakehouse sottostante e sulla dim_products tabella.