Freigeben über


Transformieren von Daten mit Apache Spark und Abfragen mit SQL

In diesem Leitfaden werden Sie:

  • Hochladen von Daten in OneLake mit dem OneLake-Datei-Explorer.

  • Verwenden eines Fabric-Notebooks, um Daten auf OneLake zu lesen und als Delta-Tabelle zurückzuschreiben.

  • Analysieren und Transformieren von Daten mit Spark mithilfe eines Fabric-Notebooks

  • Abfragen einer Kopie von Daten in OneLake mit SQL

Voraussetzungen

Führen Sie zur Vorbereitung folgende Schritte aus:

  • Laden Sie den OneLake-Datei-Explorer herunter, und installieren Sie ihn.

  • Erstellen eines Arbeitsbereichs mit einem Lakehouse-Element.

  • Herunterladen des WideWorldImportersDW-Datasets. Sie können Azure Storage-Explorer verwenden, um eine Verbindung mit https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city herzustellen und die CSV-Dateien herunterzuladen. Oder Sie können eigene CSV-Daten verwenden und die Details nach Bedarf aktualisieren.

Hinweis

Erstellen, laden oder erstellen Sie eine Verknüpfung mit Delta-Parquet Daten immer direkt im Abschnitt Tabellen von Lakehouse. Verschachteln Sie Ihre Tabellen nicht in Unterordnern unter dem Abschnitt Tabellen, da Lakehouse sie sonst nicht als Tabelle erkennt und sie als „Nicht identifiziert“ kennzeichnet.

Hochladen, Lesen, Analysieren und Abfragen von Daten

  1. Navigieren Sie im OneLake-Datei-Explorer zu Ihrem Lakehouse, und erstellen Sie unter dem Verzeichnis /Files ein Unterverzeichnis mit dem Namen dimension_city.

    Screenshot: Neu erstellter Ordner im OneLake-Datei-Explorer

  2. Kopieren Sie Ihre Beispiel-CSV-Dateien mithilfe des OneLake-Datei-Explorers in das OneLake-Verzeichnis /Files/dimension_city.

    Screenshot: Kopieren von Dateien im OneLake-Datei-Explorer

  3. Navigieren Sie im Power BI-Dienst zu Ihrem Lakehouse, und zeigen Sie Ihre Dateien an.

    Screenshot: Anzeigen der Lakehouse-Dateien in Fabric

  4. Wählen Sie Notebook öffnen und dann Neues Notebook aus, um ein Notebook zu erstellen.

    Screenshot: Erstellen eines neuen Notebooks in Fabric

  5. Konvertieren Sie die CSV-Dateien mithilfe des Fabric-Notebooks in das Delta-Format. Der folgende Codeschnipsel liest Daten aus dem von Ihnen erstellten Verzeichnis /Files/dimension_city und konvertiert sie in die Delta-Tabelle dim_city.

    import os
    from pyspark.sql.types import *
    for filename in os.listdir("/lakehouse/default/Files/<replace with your folder path>"):
        df=spark.read.format('csv').options(header="true",inferSchema="true").load("abfss://<replace with workspace name>@onelake.dfs.fabric.microsoft.com/<replace with item name>.Lakehouse/Files/<folder name>/"+filename,on_bad_lines="skip")
        df.write.mode("overwrite").format("delta").save("Tables/<name of delta table>")
    
  6. Um Ihre neue Tabelle anzuzeigen, aktualisieren Sie Ihre Ansicht des Verzeichnisses /Tables.

    Screenshot: Anzeigen einer Tabelle in einem Lakehouse in Fabric.

  7. Fragen Sie Ihre Tabelle mit SparkSQL im selben Fabric-Notebook ab.

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. Ändern Sie die Delta-Tabelle, indem Sie eine neue Spalte mit dem Namen newColumn und dem Datentyp „integer” hinzufügen. Legen Sie den Wert „9” für alle Datensätze für diese neu hinzugefügte Spalte fest.

    %%sql
    
    ALTER TABLE <replace with item name>.dim_city ADD COLUMN newColumn int;
    
    UPDATE <replace with item name>.dim_city SET newColumn = 9;
    
    SELECT City,newColumn FROM <replace with item name>.dim_city LIMIT 10;
    
  9. Sie können auch über einen SQL-Analyseendpunkt auf jede Delta-Tabelle in OneLake zugreifen. Ein SQL-Analyseendpunkt verweist auf dieselbe physische Kopie der Delta-Tabelle in OneLake und bietet die T-SQL-Benutzeroberfläche. Wählen Sie den SQL-Analyseendpunkt für lakehouse1 und dann Neue SQL-Abfrage aus, um die Tabelle mithilfe von T-SQL abzufragen.

    SELECT TOP (100) * FROM [<replace with item name>].[dbo].[dim_city];