Démarrage rapide : Requête et consommation des données OneLake via Microsoft Fabric

Dans ce démarrage rapide, vous utilisez trois moteurs Fabric pour interagir avec la même table de la maison du lac. D’abord, vous interrogez la table en utilisant le point de terminaison SQL analytics. Ensuite, vous construisez un rapport Power BI en mode Direct Lake sur cette même table. Enfin, vous lisez la même table depuis un notebook Spark. Ensemble, ces étapes montrent le motif central de OneLake : une copie des données, plusieurs moteurs.

OneLake stocke les données tabulaires au format Delta Parquet ouvert au-dessus d’Azure Data Lake Storage (ADLS) Gen2. Cette base partagée permet à différents moteurs Fabric de travailler avec les mêmes données sans avoir à les déplacer ou à les reformater pour chaque expérience. Les outils et services qui prennent en charge ADLS Gen2, tels que Azure Databricks, Azure Synapse Analytics, et des applications personnalisées, peuvent également accéder aux mêmes données depuis l’extérieur de Fabric.

Prerequisites

Interrogez la table à l’aide du point de terminaison d’analytique SQL

Chaque lakehouse dispose automatiquement d’un point de terminaison d’analytique SQL. Le point de terminaison lit directement depuis les tables Delta dans OneLake, vous pouvez donc lancer des requêtes T-SQL sur vos données Lakehouse sans les copier dans un magasin SQL séparé.

  1. Dans le portail Fabric, ouvrez l’espace de travail contenant votre maison lacustre et sélectionnez la maison du lac.

  2. Dans le coin supérieur droit du lakehouse, sélectionnez Analyser les données avec>le point de terminaison d’analytique SQL dans la liste déroulante pour basculer vers le point de terminaison d’analytique SQL du même élément.

    Une capture d’écran du portail Fabric montrant le passage au endpoint SQL analytics.

  3. Dans le menu endpoint SQL analytics, sélectionnez Nouvelle requête SQL.

  4. Dans l’éditeur de requêtes, exécutez la requête suivante sur la dim_products table :

    Cette requête regroupe par catégorie et sous-catégorie pour afficher le nombre de produits et le prix moyen.

    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. Examinez les résultats dans le panneau de sortie de requête.

    Une capture d’écran du portail Fabric qui montre la sortie d’une requête SQL.

Vous interrogiez la table sans la déplacer ni la dupliquer. Le terminau d’analyse SQL lisait les mêmes fichiers Delta dans OneLake que le lakehouse.

Créer un rapport Power BI en mode Direct Lake

Direct Lake est un mode de stockage Power BI qui lit les tables Delta de OneLake, ce qui permet à un modèle sémantique de servir des rapports sans importer ni dupliquer les données. Direct Lake propose deux modes qui lisent tous deux les données de OneLake : Direct Lake sur OneLake et Direct Lake sur SQL. Ils diffèrent dans la manière dont le modèle sémantique découvre les tables et applique les permissions. Comme ce démarrage rapide part du point de terminaison SQL analytics, le flux crée un Direct Lake sur un modèle sémantique SQL .

Dans cette section, vous construisez un modèle sémantique et un rapport simple sur la même dim_products table.

La vue du rapport montre le prix moyen du produit par category, chaque barre étant divisée par subcategory.

  1. Dans le menu endpoint SQL analytics, sélectionnez Nouveau modèle sémantique.

    Une capture d’écran du portail Fabric montrant la création d’un modèle sémantique à partir du point d’accès SQL analytics.

  2. Entrez un nom pour le modèle sémantique, comme dim_products_model. Sélectionnez le dim_products tableau, puis sélectionnez Confirmer.

  3. Dans le menu du modèle sémantique, sélectionnez Nouveau rapport.

    Une capture d’écran du portail Fabric montrant la création d’un rapport à partir du modèle sémantique.

  4. Dans l’interface de création de rapports, développez la table dim_products dans le volet Données.

  5. Dans le panneau Visualisations , sélectionnez Graphique à colonnes empilés.

    Une capture d’écran du portail Fabric qui montre la sélection du graphique à colonnes empilées.

  6. Faites glisser category sur l’axe X.

  7. Faites glisser standard_price vers l’axe Y, puis réglez l’agrégation sur Moyenne.

  8. Glissez subcategoryjusqu’à Légende pour diviser chaque catégorie en sous-catégories.

    Une capture d’écran du portail Fabric qui montre les résultats des étapes de création du rapport.

  9. Sur le ruban, sélectionnez Sauvegarder des fichiers> et enregistrez le rapport dans votre espace de travail.

Le rapport lit les données de la même table Delta dans OneLake que vous venez d’interroger avec T-SQL. Vous n’avez pas créé une seconde copie des données pour alimenter le rapport.

Lisez le même tableau depuis un carnet Spark

Les notebooks Fabric offrent un troisième moteur pour les mêmes données. Spark lit la dim_products table Delta directement depuis OneLake, sans passer par le point d’accès SQL Analytics ni le modèle sémantique. Cette étape montre qu’un moteur avec une pile de requêtes complètement différente fonctionne à partir des mêmes fichiers sous-jacents.

  1. Retournez à la maison du lac qui contient dim_products.

  2. Dans le menu du lakehouse, sélectionnez Analyser des données avec>Notebook>Nouveau notebook. Le carnet s’ouvre avec ta maison sur le lac déjà attachée comme maison par défaut.

  3. Dans la première cellule de code, collez le code PySpark suivant :

    Ce code utilise from_date comme dimension temporelle et résume le nombre de produits ainsi que le prix moyen par période et catégorie.

    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. Sélectionnez Exécuter la cellule (ou appuyez sur Majus+Entrée) pour exécuter la cellule. Le résultat montre comment les prix moyens diffèrent selon les catégories selon les dates d’effet.

    Une capture d’écran du portail Fabric qui montre les résultats du code du carnet.

Spark lit directement les fichiers Delta dans OneLake. Aucune donnée n’est copiée dans un stockage propre à Spark, et la table que vous avez interrogée est la même que celle qui sous-tend votre modèle sémantique. Vous disposez désormais d’une copie des données dans OneLake que trois moteurs — le point de terminaison d’analyse SQL, Power BI Direct Lake et Spark — utilisent via un stockage ouvert et un format de table ouverte, sans déplacer ni reformater les données.

Nettoyer les ressources

Si vous ne prévoyez pas de continuer à utiliser le modèle sémantique, le rapport et le carnet, supprimez-les de votre espace de travail :

  1. Dans votre espace de travail, survolez le modèle sémantique que vous avez créé et sélectionnez le menu plus d’options (...), puis sélectionnez Supprimer.
  2. Répétez pour le rapport et le carnet dans votre espace de travail.

La suppression du rapport, du modèle sémantique ou du notebook n’affecte pas le lakehouse et la table dim_products sous-jacents.