Del via


Kør T-SQL-kode i Fabric Python-notesbøger

Blandingen af T-SQL og Python i moderne dataarbejdsprocesser giver en effektiv og fleksibel tilgang, der blander styrkerne ved begge sprog. SQL er stadig den mest effektive og læsbare måde at forespørge, filtrere og joinforbinde strukturerede data på, mens Python udmærker sig ved datatransformation, statistisk analyse, maskinel indlæring og visualisering. Ved at kombinere T-SQL og Python kan dataingeniører bruge det bedste fra begge verdener, hvilket gør dem i stand til at opbygge robuste pipelines, der er effektive, vedligeholdelsesvenlige og i stand til at håndtere komplekse databehandlingsopgaver.

I Microsoft Fabric Python-notesbøger introducerede vi en ny funktion med navnet T-SQL Magic-kommando. Denne funktion giver dig mulighed for at køre T-SQL-kode direkte i Python-notesbøger med fuld syntaksfremhævning og kodefuldførelse. Det betyder, at du kan skrive T-SQL-kode i en Python-notesbog, og den udføres, som om den var en T-SQL-celle. Denne funktion er nyttig for datateknikere, der vil bruge styrken ved T-SQL, mens de stadig bruger fleksibiliteten i Python-notesbøger.

I denne artikel udforsker vi den magiske T-SQL-kommando i Microsoft Fabric-notesbøger. Vi beskriver, hvordan du aktiverer denne kommando, angiver, hvilket lager der skal bruges, og hvordan du binder resultaterne af T-SQL-forespørgsler til Python-variabler.

Denne funktion er tilgængelig for Fabric Python-notesbøger. Du skal angive sproget til Python i notesbogen og celletypen til T-SQL.

Important

Denne funktion er en prøveversion.

Brug af T-SQL Magic-kommandoen til at forespørge Fabric-data warehouse

Hvis du vil aktivere kommandoen T-SQL Magic i din Fabric-notesbog, skal du angive kommandoen %%tsql magic i starten af din celle. Denne kommando angiver, at koden i cellen skal behandles som T-SQL-kode.

I dette eksempel bruger vi kommandoen T-SQL Magic til at forespørge på et Fabric Data Warehouse. Kommandoen bruger følgende parametre:

  • Parameteren -artifact angiver navnet på det data warehouse, der skal bruges. T-SQL-koden i cellen udføres mod det angivne data warehouse i Fabric.
  • Parameteren -type angiver typen af elementet Stof. For Fabric Data Warehouse skal du bruge Warehouse.
  • Parameteren -bind angiver navnet på den variabel, som resultaterne af T-SQL-forespørgslen skal bindes til. I følgende eksempel gemmes resultaterne af forespørgslen i en Python-variabel kaldet df1. Hvis du har brug for at anvende en transformation på variablen df1, kan du gøre det ved hjælp af Python-kode i den næste celle. Parameteren -bind er valgfri, men det anbefales at binde resultaterne af T-SQL-forespørgslen til en Python-variabel. Denne parameter giver dig mulighed for nemt at manipulere og analysere resultaterne ved hjælp af Python-kode.
  • Parameteren -workspace er valgfri og bruges, hvis lageret er placeret i et andet arbejdsområde. Uden denne parameter bruger notesbogen det aktuelle arbejdsområde.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Skærmbillede, der viser kommandoen tsql magic med data warehouse.

Hvis parametrene -artifact og -type springes over, bruger notesbogen standardlagervaren i den aktuelle notesbog.

Brug af T-SQL magisk kommando til at forespørge SQL-database

Du kan også bruge den magiske kommando T-SQL til at forespørge på en SQL-database i Fabric. Syntaksen svarer til forespørgsler i et data warehouse, men parameteren -type skal angives til SQLDatabase. Parameteren -bind angiver navnet på den variabel, som resultaterne af T-SQL-forespørgslen skal bindes til.

I følgende eksempel gemmes resultatet af forespørgslen i en Python-variabel kaldet df2.

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

Skærmbillede, der viser kommandoen tsql magic med SQL-database.

Brug af magisk T-SQL-kommando til at forespørge SQL-analyseslutpunkt i lakehouse

Du kan også bruge den magiske kommando T-SQL til at forespørge på et SQL-analyseslutpunkt. Syntaksen svarer til forespørgsler i et data warehouse, men parameteren -type skal angives til Lakehouse. Parameteren -bind angiver navnet på den variabel, som resultaterne af T-SQL-forespørgslen skal bindes til.

I følgende eksempel gemmes resultatet af forespørgslen i en Python-variabel kaldet df3.

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

Brug af T-SQL magic-kommandoen som linjemagie

I stedet for at køre T-SQL i en fuld kodecelle med %%tsql, kan du køre T-SQL på én linje med %tsql som linjemagi. Du skal dog først etablere en sessionsforbindelse.

Important

Før du bruger %tsql line magic, skal du køre en %%tsql cell magic-kommando med parameteren -session for at initialisere SQL magic-konteksten. Hvis du kører %tsql uden denne opsætning, vil det resultere i en SQLMagicContextInitializationException.

Forudsætninger for linjemagi

  1. Initialiser sessionen: I en celle, der bruger %%tsql magikommandoen, inkluder parameteren -session for at etablere forbindelseskonteksten. Eksempel:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Brug linjemagi: Efter at have initieret sessionen, kan du bruge %tsql den i følgende celler. Linjemagien vil bruge forbindelsen etableret i trin 1 uden at kræve, at du specificerer -artifact det igen -type . Eksempel:

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

Skærmbillede, der viser kommandoen tsql magic med linjemagi.

Reference pythonvariabler i T-SQL

Du kan også referere til Python-variabler i T-SQL-kode. Det gør du ved at bruge symbolet {} efterfulgt af navnet på Python-variablen. Hvis du f.eks. har en Python-variabel kaldet count, kan du referere til den på følgende måde i din T-SQL-kode:

count = 10

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

Skærmbillede, der viser kommandoen tsql magic med referencevariablen Python.

Hvis du vil se den fulde syntaks, skal du bruge kommandoen %tsql? . Denne kommando viser hjælpoplysningerne for kommandoen T-SQL magic, herunder de tilgængelige parametre og deres beskrivelser.

Note

Du kan køre alle DML- og DDL-kommandoer på data warehouse eller SQL-databasen, men kun skrivebeskyttet forespørgsel i lakehouse sql-slutpunktet.

Du kan få flere oplysninger om Fabric-notesbøger i følgende artikler.