Gyorsindítás: OneLake adatok lekérdezése és fogyasztása a Microsoft Fabric-en keresztül

Ebben a gyorsindításban három Fabric motorral interakcióba lépsz ugyanazzal a tóházi asztalsal. Először az SQL analitikai végponttal kérdezed a táblázatot. Ezután ugyanazon a táblázaton Direct Lake módban építesz egy Power BI jelentést. Végül ugyanazt a táblázatot olvasod egy Spark jegyzetfüzetből. Ezek a lépések együtt mutatják a OneLake alapvető mintázatát: egy adatmásolat, több motor.

A OneLake a táblázatos adatokat nyílt Delta Parquet formátumban tárolja az Azure Data Lake Storage (ADLS) Gen2-re épülve. Ez a közös alap lehetővé teszi, hogy különböző Fabric motorok ugyanazokkal az adatokkal dolgozzanak anélkül, hogy minden élményhez át kellene helyezniük vagy újraformálniuk őket. Az ADLS Gen2-t támogató eszközök és szolgáltatások, mint az Azure Databricks, Azure Synapse Analytics és egyedi alkalmazások, szintén elérhetik ugyanazokat az adatokat a Fabric-en kívülről.

Prerequisites

Lekérdezés a táblázatot az SQL analitika végponttal

Minden tóház automatikusan kap egy SQL analitikai végpontot. A végpont közvetlenül a OneLake Delta tábláiból olvas, így T-SQL lekérdezéseket futtathatsz a lakehouse adataid ellen anélkül, hogy egy külön SQL tárolóba másolnád.

  1. A Fabric portálban nyisd meg a tóházat tartalmazó munkaterületet, és válaszd ki a tóházat.

  2. A lakehouse jobb felső sarkában a legördülő menüben válaszd az Adatok elemzése ezzel:>SQL analitikai végpont lehetőséget, hogy átválts ugyanannak az elemnek az SQL analitikai végpontjára.

    Egy képernyőkép a Fabric portálról, amely az SQL analitikai végpontra való átállást mutatja.

  3. Az SQL analitika végpont menüben válaszd az Új SQL lekérdezést.

  4. A lekérdezésszerkesztőben futtatjuk a következő lekérdezést a dim_products táblával szemben:

    Ez a lekérdezés kategóriák és alkategóriák szerint csoportosítja, hogy megmutassa a termékszámot és az átlagos árat.

    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. Nézd át az eredményeket a lekérdezés kimeneti panelen.

    Egy képernyőkép a Fabric portálról, amely egy SQL lekérdezés kimenetét mutatja.

Lekérdezted a táblát anélkül, hogy áthelyezted vagy duplikáltad volna. Az SQL analitikai végpont ugyanazokat a Delta fájlokat olvassa a OneLake-ben, amelyeket a Lakehouse használ.

Építs Power BI jelentést Direct Lake módban

A Direct Lake egy Power BI tárolómód, amely a OneLake-ből olvassa a Delta táblákat, így egy szemantikai modell képes jelentéseket szolgálni anélkül, hogy importálná vagy duplikálná az adatokat. A Direct Lake-nek két módja van, amelyek mindkettő olvas adatokat a OneLake-ről: a Direct Lake OneLake-en és a Direct Lake SQL-en. Eltérnek abban, hogyan fedezi fel a szemantikai modell a táblákat és érvényesíti a jogosultságokat. Mivel ez a gyorsindítás az SQL analitikai végpontból indul, a folyamat létrehoz egy Direct Lake on SQL szemantikai modellt.

Ebben a szakaszban egy szemantikai modellt és egy egyszerű jelentést építesz ugyanazon dim_products a táblázaton.

A jelentésnézet az átlagos termékárat mutatja category szerint, az egyes oszlopok subcategory szerinti bontásával.

  1. Az SQL analitika végpontmenüből válaszd ki a Új szemantikus modellt.

    Egy képernyőkép a Fabric portálról, amely szemantikai modell létrehozását mutatja az SQL analitikai végpontból.

  2. Írj be egy nevet a szemantikai modellhez, például dim_products_model. Válaszd ki a dim_products táblát, majd válaszd a Megerősítést.

  3. A szemantikai modell menüből válaszd az Új jelentést.

    Egy képernyőkép a Fabric portálról, amely azt mutatja, hogy jelentést készítenek a szemantikai modellből.

  4. A jelentéskészítési élményben bővítsd ki a dim_products táblát az Adat panelben.

  5. A Vizualizációk panelben válaszd ki a Stacked oszlopdiagramot.

    Egy képernyőkép a Fabric portálról, amely mutatja a rakott oszlopdiagram vizualizálását.

  6. Húzd category a X-tengelyre.

  7. Húzd standard_priceY-tengelyre, majd állítsd az aggregációt átlagra.

  8. Húzza a subcategory elemet a Legend mezőbe, hogy az egyes kategóriákat alkategóriákra bontsa.

    Egy képernyőkép a Fabric portálról, amely a jelentés építési lépéseinek eredményeit mutatja.

  9. A szalagon válaszd a Fájlmentés> gombot, és mentsd el a jelentést a munkaterületedre.

A jelentés ugyanabból a Delta táblából olvasható a OneLake-ben, amit most kérdeztél meg T-SQL-lel. Nem hoztál létre az adatokból egy második példányt a jelentéshez.

Olvasd el ugyanazt a táblázatot egy Spark jegyzetfüzetből

A Fabric-jegyzetfüzetek egy harmadik motort biztosítanak ugyanazon adatokon. A Spark közvetlenül a OneLake-ből olvassa a dim_products Delta táblát, anélkül, hogy az SQL analitikai végponton vagy a szemantikai modellen keresztül kellene átmenni. Ez a lépés azt mutatja, hogy egy teljesen eltérő lekérdezési stackel rendelkező motor ugyanazokból az alap fájlokból működik.

  1. Menjen vissza ahhoz a Lakehouse-hoz, amely a következőt tartalmazza: dim_products

  2. A Lakehouse menüben válassza ki a Adatelemzés ezzel:>Notebook>Új jegyzetfüzet lehetőséget. A jegyzetfüzet úgy nyílik ki, hogy a tóházad már rögzítve van alapértelmezett tóházként.

  3. Az első kódcellába illesztsd be a következő PySpark kódot:

    Ez a kód from_date idődimenzióként használja, és összefoglalja a termékszámot és az átlagos árat időszak és kategória szerint.

    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. Válaszd ki a Futtatás cellát (vagy nyomd meg a Shift+Enter gombot), hogy elindítsd a cellát. Az eredmény megmutatja, hogyan különböznek az átlagos árak kategóriaként az érvényességi dátumok között.

    Egy képernyőkép a Fabric portálról, amely mutatja a jegyzetfüzetek kódjának eredményeit.

Spark közvetlenül olvassa a Delta fájlokat a OneLake-ben. Nem másolódnak adatok egy Spark-specifikus adattárba, és a lekérdezett tábla ugyanaz, amely a szemantikai modell alapját képezi. Most már egy példányod van az OneLake-ben, amelyet három motor – az SQL analitikai végpont, a Power BI Direct Lake és a Spark – használja nyílt tárolón és nyílt táblaformátumon keresztül, anélkül, hogy áthelyeznék vagy újraformáznák az adatokat.

Erőforrások tisztítása

Ha nem tervezed tovább használni a szemantikai modellt, jelentést és jegyzetfüzetet, töröld őket a munkaterületedről:

  1. A munkaterületedben vidd az egeret a létrehozott szemantikai modell fölé, válaszd ki a további opciók (...) menüt, majd válaszd a Törlést.
  2. Ismételje meg ezt a jelentés és a munkaterületén lévő jegyzetfüzet esetében is.

A jelentés, a szemantikai modell vagy a jegyzetfüzet törlése nincs hatással az alapul szolgáló lakehouse-ra és a dim_products táblára.