Dela via


Transformera data med Apache Spark och fråga med SQL

I den här guiden kommer du att:

  • Ladda upp data till OneLake med OneLake-utforskaren.

  • Använd en Fabric-anteckningsbok för att läsa data på OneLake och skriva tillbaka som en Delta-tabell.

  • Analysera och transformera data med Spark med hjälp av en Fabric-notebook-fil.

  • Fråga en kopia av data på OneLake med SQL.

Förutsättningar

Innan du börjar måste du:

  • Ladda ned och installera OneLake-utforskaren.

  • Skapa en arbetsyta med ett Lakehouse-objekt.

  • Ladda ned datauppsättningen WideWorldImportersDW. Du kan använda Azure Storage Explorer för att ansluta till https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city och ladda ned uppsättningen csv-filer. Eller så kan du använda dina egna csv-data och uppdatera informationen efter behov.

Kommentar

Skapa, läs in eller skapa alltid en genväg till Delta-Parquet-data direkt under avsnittet Tabeller i lakehouse. Kapsla inte dina tabeller i undermappar under avsnittet Tabeller eftersom lakehouse inte känner igen den som en tabell och kommer att märka den som Oidentifierad.

Ladda upp, läsa, analysera och fråga efter data

  1. I OneLake-utforskaren /Files navigerar du till ditt lakehouse och under katalogen skapar du en underkatalog med namnet dimension_city.

    Skärmbild av den nya mappen som skapats i OneLake-utforskaren.

  2. Kopiera dina csv-exempelfiler till OneLake-katalogen /Files/dimension_city med onelake-utforskaren.

    Skärmbild av kopiering av filer till OneLake i Utforskaren.

  3. Gå till ditt lakehouse i Power BI-tjänst och visa dina filer.

    Skärmbild av att visa filer i lakehouse i Fabric.

  4. Välj Öppna anteckningsbok och sedan Ny anteckningsbok för att skapa en notebook-fil.

    Skärmbild av att skapa en ny notebook-fil i Infrastrukturresurser.

  5. Konvertera CSV-filerna till Delta-format med hjälp av anteckningsboken Infrastruktur. Följande kodfragment läser data från den användarskapade katalogen /Files/dimension_city och konverterar dem till en Delta-tabell 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. Om du vill se den nya tabellen uppdaterar du vyn för /Tables katalogen.

    Skärmbild av en visningstabell i ett lakehouse i Fabric.

  7. Fråga tabellen med SparkSQL i samma Fabric-notebook-fil.

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. Ändra Delta-tabellen genom att lägga till en ny kolumn med namnet newColumn med datatyps heltal. Ange värdet 9 för alla poster för den nyligen tillagda kolumnen.

    %%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. Du kan också komma åt alla Delta-tabeller på OneLake via en SQL-analysslutpunkt. En SQL-analysslutpunkt refererar till samma fysiska kopia av Delta-tabellen på OneLake och erbjuder T-SQL-upplevelsen. Välj SQL-analysslutpunkten för lakehouse1 och välj sedan Ny SQL-fråga för att köra frågor mot tabellen med hjälp av T-SQL.

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