Sdílet prostřednictvím


Transformace dat pomocí Apache Sparku a dotazování pomocí SQL

V této příručce:

  • Nahrajte data do OneLake pomocí Průzkumníka souborů OneLake.

  • Pomocí poznámkového bloku Fabric můžete číst data na OneLake a zapisovat zpět jako tabulku Delta.

  • Analýza a transformace dat pomocí Sparku pomocí poznámkového bloku Fabric

  • Dotazování jedné kopie dat na OneLake pomocí SQL

Požadavky

Než začnete, musíte:

  • Stáhněte a nainstalujte Průzkumníka souborů OneLake.

  • Vytvořte pracovní prostor s položkou Lakehouse.

  • Stáhněte si datovou sadu WideWorldImportersDW. K připojení https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city a stažení sady souborů CSV můžete použít Průzkumník služby Azure Storage. Nebo můžete použít vlastní data csv a podle potřeby aktualizovat podrobnosti.

Poznámka:

Vždy vytvořte, načtěte nebo vytvořte zástupce dat Delta-Parquet přímo v části Tabulky jezera. Tabulky vnořujte do podsložek v oddílu Tabulky , protože jezero ji nerozpozná jako tabulku a označí ji jako neidentifikovanou.

Nahrání, čtení, analýza a dotazování dat

  1. V Průzkumníku souborů OneLake přejděte do svého lakehouse a pod /Files adresářem vytvořte podadresář s názvem dimension_city.

    Snímek obrazovky s novou složkou vytvořenou v Průzkumníku souborů OneLake

  2. Zkopírujte ukázkové soubory CSV do adresáře /Files/dimension_city OneLake pomocí Průzkumníka souborů OneLake.

    Snímek obrazovky s kopírováním souborů do OneLake v Průzkumníku souborů

  3. V služba Power BI přejděte do svého jezera a prohlédněte si soubory.

    Snímek obrazovky se zobrazením souborů v jezeře v Fabric

  4. Vyberte Otevřít poznámkový blok a potom Nový poznámkový blok a vytvořte poznámkový blok .

    Snímek obrazovky s vytvářením nového poznámkového bloku v prostředcích infrastruktury

  5. Pomocí poznámkového bloku Fabric převeďte soubory CSV do formátu Delta. Následující fragment kódu čte data z adresáře /Files/dimension_city vytvořeného uživatelem a převede je na tabulku dim_cityDelta .

    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. Pokud chcete zobrazit novou tabulku, aktualizujte zobrazení /Tables adresáře.

    Snímek obrazovky se zobrazením tabulky v jezeře v Prostředcích infrastruktury

  7. Dotazujte se na tabulku pomocí SparkSQL ve stejném poznámkovém bloku Fabric.

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. Upravte tabulku Delta přidáním nového sloupce s názvem newColumn s datovým typem integer. Nastavte hodnotu 9 pro všechny záznamy pro tento nově přidaný sloupec.

    %%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. K libovolné tabulce Delta na OneLake můžete přistupovat také prostřednictvím koncového bodu analýzy SQL. Koncový bod analýzy SQL odkazuje na stejnou fyzickou kopii tabulky Delta na OneLake a nabízí prostředí T-SQL. Vyberte koncový bod analýzy SQL pro lakehouse1 a pak vyberte Nový dotaz SQL pro dotazování tabulky pomocí T-SQL.

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