Partager via


Exécuter du code T-SQL dans des notebooks Python Fabric

La combinaison de T-SQL et Python dans les flux de travail de données modernes offre une approche puissante et flexible qui combine les forces des deux langages. SQL reste le moyen le plus efficace et lisible d’interroger, de filtrer et de joindre des données structurées, tandis que Python excelle à la transformation des données, à l’analyse statistique, au Machine Learning et à la visualisation. En combinant T-SQL et Python, les ingénieurs données peuvent utiliser le meilleur des deux mondes, ce qui leur permet de créer des pipelines robustes qui sont efficaces, gérables et capables de gérer des tâches complexes de traitement des données.

Dans les notebooks Microsoft Fabric Python, nous avons introduit une nouvelle fonctionnalité appelée commande magique T-SQL. Cette fonctionnalité vous permet d’exécuter du code T-SQL directement dans des notebooks Python, avec une mise en surbrillance complète de la syntaxe et une complétion du code. Cela signifie que vous pouvez écrire du code T-SQL dans un notebook Python et qu’il sera exécuté comme s’il s’agissait d’une cellule T-SQL. Cette fonctionnalité est utile pour les ingénieurs données qui souhaitent utiliser la puissance de T-SQL tout en utilisant la flexibilité des notebooks Python.

Dans cet article, nous explorons la commande magique T-SQL dans les carnets de notes Microsoft Fabric. Nous abordons comment activer cette commande, spécifier l’entrepôt à utiliser et comment lier les résultats des requêtes T-SQL aux variables Python.

Cette fonctionnalité est disponible pour les notebooks Python Fabric. Vous devez définir le langage sur Python dans le notebook, et sur T-SQL pour le type de cellule.

Important

Cette fonctionnalité est en version préliminaire.

Utilisation de la commande magic T-SQL pour interroger l’entrepôt de données Fabric

Pour activer la commande magique T-SQL dans votre bloc-notes Fabric, vous devez définir la %%tsql commande magique au début de votre cellule. Cette commande indique le code de cette cellule doit être traité comme du code T-SQL.

Dans cet exemple, nous utilisons la commande magique T-SQL pour interroger un entrepôt de données Fabric. La commande prend les paramètres suivants :

  • Le -artifact paramètre spécifie le nom de l’entrepôt de données à utiliser. Le code T-SQL dans la cellule est exécuté sur l’entrepôt de données spécifié dans Fabric.
  • Le -type paramètre spécifie le type de l’élément Fabric. Pour Fabric Data Warehouse, utilisez Warehouse.
  • Le -bind paramètre spécifie le nom de la variable à laquelle lier les résultats de la requête T-SQL. Dans l’exemple suivant, les résultats de la requête sont stockés dans une variable Python appelée df1. Si vous devez appliquer une transformation à la variable df1, vous pouvez le faire à l’aide du code Python dans la cellule suivante. Le -bind paramètre est facultatif, mais il est recommandé de lier les résultats de la requête T-SQL à une variable Python. Ce paramètre vous permet de manipuler et d’analyser facilement les résultats à l’aide du code Python.
  • Le -workspace paramètre est facultatif et est utilisé si l’entrepôt se trouve dans un autre espace de travail. Sans ce paramètre, le notebook utilise l’espace de travail actuel.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Capture d’écran montrant la commande magic tsql avec l’entrepôt de données.

Si les paramètres -artifact et -type sont ignorés, le notebook utilise l’élément d'entrepôt par défaut dans le notebook actuel.

Utilisation de la commande magic T-SQL pour interroger la base de données SQL

Vous pouvez également utiliser la commande magic T-SQL pour interroger une base de données SQL dans Fabric. La syntaxe est similaire à l’interrogation d’un entrepôt de données, mais le -type paramètre doit être défini sur SQLDatabase. Le -bind paramètre spécifie le nom de la variable à laquelle lier les résultats de la requête T-SQL.

Dans l’exemple suivant, le résultat de la requête est stocké dans une variable Python appelée df2.

%%tsql -artifact sqldb1 -type SQLDatabase -bind df2
SELECT TOP (10) [AddressID]
      ,[AddressLine1]
      ,[AddressLine2]
      ,[City]
      ,[StateProvince]
      ,[CountryRegion]
      ,[PostalCode]
      ,[rowguid]
      ,[ModifiedDate]
  FROM [SalesLT].[Address];

Capture d’écran montrant la commande magic tsql avec la base de données sql.

Utilisation de la commande T-SQL magic pour interroger le point de terminaison d'analytique SQL du Lakehouse

Vous pouvez également utiliser la commande magic T-SQL pour interroger un point de terminaison d’analytique SQL. La syntaxe est similaire à l’interrogation d’un entrepôt de données, mais le -type paramètre doit être défini sur Lakehouse. Le -bind paramètre spécifie le nom de la variable à laquelle lier les résultats de la requête T-SQL.

Dans l’exemple suivant, le résultat de la requête est stocké dans une variable Python appelée df3.

%%tsql -artifact lakehouse1 -type Lakehouse -bind df3
SELECT TOP (10) [ProductID],
      [Name],
      [ProductNumber],
      [Color],
      [StandardCost],
      [ListPrice]
FROM [lakehouse1].[dbo].[Product];

Utilisation de la commande magique T-SQL comme magie de ligne

Au lieu d’exécuter T-SQL dans une cellule de code complète avec %%tsql, vous pouvez exécuter T-SQL dans une seule ligne avec %tsql comme magie de ligne. Toutefois, vous devez d’abord établir une connexion de session.

Important

Avant d’utiliser %tsql la magie de ligne, vous devez exécuter une %%tsql commande magique de cellule avec le -session paramètre pour initialiser le contexte magique SQL. L’exécution %tsql sans cette configuration entraîne un SQLMagicContextInitializationException.

Conditions préalables pour la magie de ligne

  1. Initialiser la session : dans une cellule qui utilise la %%tsql commande magic, incluez le paramètre -session pour établir le contexte de connexion. Par exemple:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Utilisez la magie de ligne : après avoir initialisé la session, vous pouvez l’utiliser %tsql dans les cellules suivantes. La magie de ligne utilisera la connexion établie à l’étape 1 sans vous obliger à spécifier -artifact et -type à nouveau. Par exemple:

    df = %tsql SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    

Capture d’écran montrant la commande magic tsql avec la magie de ligne.

Référencer des variables Python dans T-SQL

Vous pouvez également référencer des variables Python dans du code T-SQL. Pour ce faire, utilisez le {} symbole suivi du nom de la variable Python. Par exemple, si vous avez une variable Python appelée count, vous pouvez la référencer comme suit dans votre code T-SQL :

count = 10

df = %tsql SELECT TOP({count}) * FROM [dw1].[dbo].[Geography];

Capture d’écran montrant la commande magic tsql avec la variable Python de référence.

Pour afficher la syntaxe complète, utilisez la %tsql? commande. Cette commande affiche les informations d’aide de la commande magic T-SQL, y compris les paramètres disponibles et leurs descriptions.

Note

Vous pouvez exécuter les commandes DML et DDL complètes sur l’entrepôt de données ou la base de données SQL, mais uniquement une requête de lecture seule sur le point de terminaison SQL du lakehouse.

Pour obtenir plus d’informations sur les notebooks Fabric, consultez les articles suivants.