Quickstart: Abfrage und Nutzung von OneLake-Daten über Microsoft Fabric

In diesem Quickstart nutzt du drei Fabric-Motoren, um mit demselben Seehaus-Tisch zu interagieren. Zuerst fragst du die Tabelle über den SQL-Analytics-Endpunkt ab. Dann baust du einen Power BI-Bericht im Direct Lake-Modus über dieselbe Tabelle. Zum Schluss liest du dieselbe Tabelle aus einem Spark-Notizbuch. Zusammen zeigen diese Schritte das Kernmuster von OneLake: eine Datenkopie, mehrere Engines.

OneLake speichert tabellarische Daten im offenen Delta Parquet-Format auf Azure Data Lake Storage (ADLS) Gen2. Diese gemeinsame Grundlage ermöglicht es verschiedenen Fabric-Engines, mit denselben Daten zu arbeiten, ohne sie für jede Erfahrung verschieben oder umformatieren zu müssen. Werkzeuge und Dienste, die ADLS Gen2 unterstützen, wie Azure Databricks, Azure Synapse Analytics und benutzerdefinierte Anwendungen, können dieselben Daten auch von außerhalb des Fabric erreichen.

Voraussetzungen

Abfrage der Tabelle über den SQL-Analyse-Endpunkt

Jedes Lakehouse erhält automatisch einen SQL-Analytics-Endpunkt. Der Endpunkt liest direkt aus den Delta-Tabellen in OneLake, sodass du T-SQL-Abfragen mit deinen Lakehouse-Daten ausführen kannst, ohne sie in einen separaten SQL-Speicher zu kopieren.

  1. Im Fabric-Portal öffnen Sie den Arbeitsbereich, der Ihr Seehaus enthält, und wählen Sie das Seehaus aus.

  2. Wählen Sie in der oberen rechten Ecke des Lakehouse in der Dropdownliste Daten analysieren mit>SQL-Analyseendpunkt aus, um zum SQL-Analyseendpunkt desselben Elements zu wechseln.

    Ein Screenshot des Fabric-Portals, der den Wechsel zum SQL-Analytics-Endpunkt zeigt.

  3. Im SQL-Analytics-Endpunktmenü wählen Sie Neue SQL-Abfrage.

  4. Im Abfrageeditor führen Sie folgende Abfrage gegen die Tabelle dim_products aus:

    Diese Abfrage gruppiert sie nach Kategorie und Unterkategorie, um Produktzahlen und Durchschnittspreis anzuzeigen.

    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. Überprüfen Sie die Ergebnisse im Abfrageausgabe-Fenster.

    Ein Screenshot des Fabric-Portals, der die Ausgabe einer SQL-Abfrage zeigt.

Du hast die Tabelle abgefragt, ohne sie zu verschieben oder zu duplizieren. Der SQL-Analytics-Endpunkt las dieselben Delta-Dateien in OneLake, die auch das Lakehouse verwendet.

Erstellen Sie einen Power BI-Bericht im Direct Lake-Modus

Direct Lake ist ein Power BI-Speichermodus, der Delta-Tabellen aus OneLake liest, sodass ein semantisches Modell Berichte bereitstellen kann, ohne die Daten zu importieren oder zu duplizieren. Direct Lake hat zwei Modi, die beide Daten von OneLake lesen: Direct Lake auf OneLake und Direct Lake auf SQL. Sie unterscheiden sich darin, wie das semantische Modell Tabellen entdeckt und Berechtigungen durchsetzt. Da dieser Quickstart beim SQL-Analyseendpunkt beginnt, erstellt der Ablauf ein semantisches Modell Direct Lake on SQL.

In diesem Abschnitt baust du ein semantisches Modell und einen einfachen Bericht über dieselbe dim_products Tabelle.

Die Berichtsansicht zeigt den durchschnittlichen Produktpreis nach category, wobei jeder Balken nach subcategory aufgeteilt ist.

  1. Im SQL-Analytics-Endpunktmenü wählen Sie Neues semantisches Modell.

    Ein Screenshot des Fabric-Portals, der zeigt, wie man ein semantisches Modell vom SQL-Analytics-Endpunkt erstellt.

  2. Geben Sie einen Namen für das semantische Modell ein, wie zum Beispiel dim_products_model. Wähle die dim_products Tabelle aus und dann Bestätigen.

  3. Im Menü des semantischen Modells wählen Sie Neuer Bericht.

    Ein Screenshot des Fabric-Portals, der zeigt, wie ein Bericht aus dem semantischen Modell erstellt wird.

  4. Erweitern Sie beim Erstellen des Berichts die dim_products Tabelle im Daten-Bereich.

  5. Im Visualisierungsbereich wählen Sie Gestapelte Spaltendiagramm.

    Ein Screenshot des Fabric-Portals, das die Auswahl des gestapelten Spaltendiagramms zeigt.

  6. Ziehe category auf X-Achse.

  7. Ziehen Sie standard_price auf Y-Achse und setzen Sie dann die Aggregation auf Durchschnitt.

  8. Ziehe subcategory zu Legende , um jede Kategorie in Unterkategorien zu unterteilen.

    Ein Screenshot des Fabric-Portals, der die Ergebnisse der Berichtsbauschritte zeigt.

  9. Auf dem Ribbon wählen Sie Datei>speichern und speichern Sie den Bericht in Ihrem Arbeitsbereich.

Der Bericht liest aus derselben Delta-Tabelle in OneLake, die du gerade mit T-SQL abgefragt hast. Du hast keine zweite Kopie der Daten erstellt, um den Bericht zu unterstützen.

Lies dieselbe Tabelle aus einem Spark-Notizbuch

Fabric-Notebooks bieten Ihnen eine dritte Engine für dieselben Daten. Spark liest die dim_products Delta-Tabelle direkt aus OneLake, ohne den SQL-Analytics-Endpunkt oder das semantische Modell zu durchlaufen. Dieser Schritt zeigt, dass eine Engine mit einem völlig anderen Abfragestack aus denselben zugrundeliegenden Dateien arbeitet.

  1. Gehen Sie zurück zum Lakehouse, das dim_products enthält.

  2. Wählen Sie im Lakehouse-Menü Daten analysieren mit>Notebook>Neues Notebook aus. Das Notebook wird geöffnet, wobei dein Lakehouse bereits als Standard-Lakehouse angefügt ist.

  3. In der ersten Codezelle fügen Sie folgenden PySpark-Code ein:

    Dieser Code verwendet from_date als Zeitdimension und fasst die Produktanzahl sowie den Durchschnittspreis nach Zeitraum und Kategorie zusammen.

    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. Wählen Sie Zelle ausführen (oder drücken Sie Shift+Enter), um die Zelle auszuführen. Die Ausgabe zeigt, wie sich die Durchschnittspreise zwischen den Kategorien für verschiedene Stichtage unterscheiden.

    Ein Screenshot des Fabric-Portals, der die Ergebnisse des Notebook-Codes zeigt.

Spark liest die Delta-Dateien direkt in OneLake. Keine Daten werden in einen Spark-spezifischen Store kopiert, und die abgefragte Tabelle ist dieselbe, die dein semantisches Modell unterstützt. Sie haben nun eine Datenkopie in OneLake, die drei Engines – der SQL-Analytics-Endpunkt, Power BI Direct Lake und Spark – über offenen Speicher und ein offenes Tabellenformat verwenden, ohne die Daten zu verschieben oder neu zu formatieren.

Bereinigen von Ressourcen

Wenn du nicht planst, weiterhin das semantische Modell, den Bericht und das Notizbuch zu verwenden, lösche sie aus deinem Arbeitsbereich:

  1. In Ihrem Arbeitsbereich fahren Sie mit der Maus über das semantische Modell, das Sie erstellt haben, und wählen Sie das Menü Weitere Optionen (...), dann wählen Sie Löschen.
  2. Wiederholen Sie dies für den Bericht und das Notebook in Ihrem Arbeitsbereich.

Das Löschen des Berichts, des semantischen Modells oder des Notizbuchs hat keine Auswirkungen auf das zugrunde liegende Lakehouse und die dim_products-Tabelle.