Quickstart: Vraag en consumeer OneLake-gegevens via Microsoft Fabric

In deze quickstart gebruik je drie Fabric-engines om met dezelfde lakehouse-tabel te werken. Eerst bevraagt u de tabel met behulp van het SQL-analyse-endpoint. Vervolgens bouw je een Power BI-rapport in Direct Lake-modus over diezelfde tabel. Tot slot lees je dezelfde tabel uit een Spark-notitieboek. Samen tonen deze stappen het kernpatroon van OneLake: één kopie van data, meerdere engines.

OneLake slaat tabulaire gegevens op in open Delta Parquet-formaat bovenop Azure Data Lake Storage (ADLS) Gen2. Die gedeelde basis stelt verschillende Fabric-engines in staat om met dezelfde data te werken zonder dat je het voor elke ervaring hoeft te verplaatsen of formatteren. Tools en diensten die ADLS Gen2 ondersteunen, zoals Azure Databricks, Azure Synapse Analytics en aangepaste applicaties, kunnen dezelfde data ook van buiten Fabric bereiken.

Vereiste voorwaarden

Raadpleeg de tabel met het SQL-analyse-endpoint

Elk lakehouse krijgt automatisch een SQL-analyse-endpoint. Het endpoint leest rechtstreeks uit de Delta-tabellen in OneLake, zodat je T-SQL-queries kunt uitvoeren op je lakehouse-data zonder deze naar een aparte SQL-opslag te kopiëren.

  1. Open in het Fabric-portaal de werkruimte waarin je lakehouse staat en selecteer het lakehouse.

  2. Selecteer in de rechterbovenhoek van het lakehouse Gegevens analyseren met>SQL analytics-endpoint in de vervolgkeuzelijst om over te schakelen naar het SQL analytics-endpoint van hetzelfde item.

    Een screenshot van het Fabric-portaal dat laat zien dat je overstapt naar het SQL-analyse-eindpunt.

  3. Selecteer in het SQL analytics endpointmenu Nieuwe SQL-query.

  4. Voer in de query-editor de volgende query uit tegen de dim_products tabel:

    Deze zoekopdracht groepeert per categorie en subcategorie om het aantal producten en de gemiddelde prijs te tonen.

    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. Bekijk de resultaten in het query-outputpaneel.

    Een screenshot van het Fabric-portaal die de output van een SQL-query toont.

Je hebt de tabel geraadpleegd zonder deze te verplaatsen of te dupliceren. Het SQL-analyse-eindpunt leest dezelfde Delta-bestanden in OneLake als die het lakehouse gebruikt.

Bouw een Power BI-rapport in Direct Lake-modus

Direct Lake is een Power BI-opslagmodus die Delta-tabellen uit OneLake leest, zodat een semantisch model rapporten kan leveren zonder de data te importeren of te dupliceren. Direct Lake heeft twee modi die beide gegevens van OneLake lezen: Direct Lake op OneLake en Direct Lake op SQL. Ze verschillen in hoe het semantische model tabellen ontdekt en permissies afdwingt. Omdat deze quickstart begint vanaf het SQL-analyse-endpoint, creëert de flow een Direct Lake on SQL semantisch model.

In deze sectie bouw je een semantisch model en een eenvoudig rapport over dezelfde dim_products tabel.

De rapportweergave toont de gemiddelde productprijs door category, waarbij elke balk wordt gesplitst door subcategory.

  1. Selecteer in het SQL-analytics endpointmenu Nieuw semantisch model.

    Een screenshot van het Fabric-portaal dat laat zien hoe je een semantisch model maakt vanaf het SQL-analyse-eindpunt.

  2. Voer een naam in voor het semantische model, zoals dim_products_model. Selecteer de dim_products tabel en selecteer vervolgens Bevestigen.

  3. Selecteer in het menu met het semantisch model Nieuw rapport.

    Een screenshot van het Fabric-portaal dat laat zien hoe je een rapport maakt vanuit het semantische model.

  4. Vouw in de ontwerpomgeving voor rapporten de tabel dim_products uit in het deelvenster Gegevens.

  5. Selecteer in het venster Visualisaties een gestapelde kolomgrafiek.

    Een screenshot van het Fabric-portaal dat het selecteren van de gestapelde kolomgrafiek laat zien.

  6. Sleep category naar X-as.

  7. Sleep standard_price naar de Y-as en zet de aggregatie dan op Gemiddelde.

  8. Sleep subcategory naar Legend om elke categorie in subcategorieën te verdelen.

    Een screenshot van het Fabric-portaal dat de resultaten van de rapportage-opbouwstappen toont.

  9. Selecteer op het lint Bestand>opslaan en sla het rapport op in je werkruimte.

Het rapport leest uit dezelfde Delta-tabel in OneLake die je net met T-SQL hebt geraadpleegd. Je hebt geen tweede kopie van de data gemaakt om het rapport aan te drijven.

Ik heb dezelfde tabel gelezen uit een Spark-notitieboekje

Fabric-notebooks bieden je een derde verwerkingsengine voor dezelfde gegevens. Spark leest de dim_products Delta-tabel rechtstreeks uit OneLake, zonder via het SQL-analyse-endpoint of het semantische model te gaan. Deze stap laat zien dat een engine met een totaal andere querystack werkt vanuit dezelfde onderliggende bestanden.

  1. Ga terug naar het Lakehouse dat dim_products bevat.

  2. Selecteer in het lakehouse-menu 'Gegevens analyseren met>notitieboek'>Nieuw notitieboek. Het notitieboekje wordt geopend met je lakehouse al gekoppeld als standaardlakehouse.

  3. In de eerste codecel plakt u de volgende PySpark-code:

    Deze code gebruikt from_date als tijdsdimensie en vat het aantal producten en de gemiddelde prijs per periode en categorie samen.

    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. Selecteer Cel uitvoeren (of druk op Shift+Enter) om de cel uit te voeren. De output laat zien hoe gemiddelde prijzen per categorie verschillen over de ingangsdata.

    Een screenshot van het Fabric-portaal dat de resultaten van de notitieboekcode toont.

Spark leest de Delta-bestanden rechtstreeks in OneLake. Er worden geen data gekopieerd naar een Spark-specifieke opslag, en de tabel die je hebt geraadpleegd is dezelfde die je semantisch model ondersteunt. Je hebt nu één kopie van data in OneLake die drie engines—het SQL-analyse-endpoint, Power BI Direct Lake en Spark—gebruiken via open opslag en een open tabelformaat, zonder de data te verplaatsen of te herformatteren.

De hulpbronnen opschonen

Als je niet van plan bent het semantische model, rapport en notitieboek te blijven gebruiken, verwijder ze dan uit je werkruimte:

  1. In je werkruimte beweeg je muis over het semantische model dat je hebt gemaakt en selecteer je het menu met meer opties (...), selecteer je vervolgens Verwijderen.
  2. Herhaal dit voor het rapport en het notitieboekje in je werkruimte.

Het verwijderen van het rapport, het semantische model of het notitieboekje heeft geen invloed op de onderliggende lakehouse en de tabel dim_products.