Partager via


Transformer des données avec Apache Spark et interroger avec SQL

Dans ce guide, vous allez :

  • Chargez les données dans OneLake avec l’explorateur de fichiers OneLake.

  • Utilisez un notebook Fabric pour lire les données sur OneLake et les mettre à jour sous forme de tableau Delta.

  • Analysez et transformez des données avec Spark à l'aide d'un notebook Fabric.

  • Interrogez une copie des données sur OneLake avec SQL.

Prérequis

Avant de commencer, vous devez :

  • Téléchargez et installez l'explorateur de fichiers OneLake.

  • Créez un espace de travail avec un élément Lakehouse.

  • Téléchargez le jeu de données WideWorldImportersDW. Vous pouvez utiliser Explorateur Stockage Azure pour vous connecter à https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city et télécharger l'ensemble de fichiers csv. Vous pouvez également utiliser vos propres données csv et mettre à jour les détails si nécessaire.

Remarque

Créez ou chargez systématiquement un raccourci vers les données Delta-Parquet directement dans la section Tableaux du lakehouse. N’imbriquez pas vos tableaux dans les sous-dossiers sous la section Tableaux, car le lakehouse ne les reconnaîtra pas comme tels et les étiquettera comme Non identifié.

Charger, lire, analyser et interroger des données

  1. Dans l'explorateur de fichiers OneLake, accédez à votre lakehouse. Sous le répertoire /Files, créez un sous-répertoire nommé dimension_city.

    Capture d'écran du nouveau dossier créé dans l'explorateur de fichiers OneLake.

  2. Copiez vos exemples de fichiers csv dans le répertoire OneLake /Files/dimension_city à l'aide de l'explorateur de fichiers OneLake.

    Capture d'écran de la copie de fichiers vers OneLake dans l'explorateur de fichiers.

  3. Accédez à votre Lakehouse dans le service Power BI et affichez vos fichiers.

    Capture d'écran de l'affichage de fichiers dans Lakehouse dans Fabric.

  4. Sélectionnez Ouvrir le notebook, puis Nouveau notebook pour créer un bloc-notes.

    Capture d'écran de la création d'un nouveau bloc-notes dans Fabric.

  5. À l'aide du notebook Fabric, convertissez les fichiers csv au format Delta. L’extrait de code suivant lit les données du répertoire /Files/dimension_city créé par l’utilisateur et les convertit en tableau Delta 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. Pour afficher votre nouveau tableau, actualisez la vue du répertoire /Tables.

    Capture d’écran d’une table de visualisation dans Lakehouse dans Fabric.

  7. Interrogez votre table avec SparkSQL dans le même notebook Fabric.

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. Modifiez le tableau Delta en ajoutant une nouvelle colonne nommée newColumn avec le type de données entier. Définissez la valeur 9 pour tous les enregistrements de cette colonne nouvellement ajoutée.

    %%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. Vous pouvez également accéder à tout tableau Delta sur OneLake via un point de terminaison d’analytique SQL. Un point de terminaison d’analytique SQL fait référence à la même copie physique du tableau delta sur OneLake et offre une expérience T-SQL. Sélectionnez le point de terminaison d’analytique SQL pour lakehouse1, puis sélectionnez Nouvelle requête SQL afin d’interroger le tableau à l'aide de T-SQL.

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