Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Blandningen av T-SQL och Python i moderna dataarbetsflöden erbjuder ett kraftfullt och flexibelt tillvägagångssätt som blandar styrkan i båda språken. SQL är fortfarande det mest effektiva och läsbara sättet att fråga, filtrera och koppla strukturerade data, medan Python utmärker sig för datatransformering, statistisk analys, maskininlärning och visualisering. Genom att kombinera T-SQL och Python kan datatekniker använda det bästa av två världar, vilket gör det möjligt för dem att skapa robusta pipelines som är effektiva, underhållsbara och kan hantera komplexa databehandlingsuppgifter.
I Microsoft Fabric Python-notebook-filer introducerade vi en ny funktion med namnet T-SQL Magic Command. Med den här funktionen kan du köra T-SQL-kod direkt i Python-notebook-filer med fullständig syntaxmarkering och kodkomplettering. Det innebär att du kan skriva T-SQL-kod i en Python-notebook-fil och att den körs som om den vore en T-SQL-cell. Den här funktionen är användbar för datatekniker som vill använda kraften i T-SQL medan de fortfarande använder flexibiliteten i Python-notebook-filer.
I den här artikeln utforskar vi det magiska T-SQL-kommandot i Microsoft Fabric-notebook-filer. Vi går igenom hur du aktiverar det här kommandot, anger vilket lager som ska användas och hur du binder resultatet av T-SQL-frågor till Python-variabler.
Den här funktionen är tillgänglig för Fabric Python-notebook-filer. Du måste ange språket till Python i notebook-filen och celltypen till T-SQL.
Important
Den här funktionen är i förhandsversion.
Använda ett magiskt T-SQL-kommando för att fråga Fabric-informationslagret
Om du vill aktivera det magiska T-SQL-kommandot i din Fabric-notebook-fil måste du ange det %%tsql magiska kommandot i början av cellen. Det här kommandot anger att koden i cellen ska behandlas som T-SQL-kod.
I det här exemplet använder vi T-SQL magic-commandot för att köra frågor mot ett Fabric Data Warehouse. Kommandot tar följande parametrar:
- Parametern
-artifactanger namnet på informationslagret som ska användas. T-SQL-koden i cellen körs mot det angivna informationslagret i Fabric. - Parametern
-typeanger typen av fabric-objekt. För Fabric Data Warehouse använder duWarehouse. - Parametern
-bindanger namnet på variabeln som T-SQL-frågans resultat ska bindas till. I följande exempel lagras resultatet av frågan i en Python-variabel med namnetdf1. Om du behöver tillämpa en transformering på df1-variabeln kan du göra det med hjälp av Python-kod i nästa cell. Parametern-bindär valfri, men vi rekommenderar att du binder resultatet av T-SQL-frågan till en Python-variabel. Med den här parametern kan du enkelt manipulera och analysera resultaten med hjälp av Python-kod. - Parametern
-workspaceär valfri och används om lagret finns på en annan arbetsyta. Utan denna parameter använder notebooken den aktuella arbetsytan.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
[ZipCodeBKey],
[County],
[City],
[State],
[Country],
[ZipCode]
FROM [dw1].[dbo].[Geography]
Om både parametrarna -artifact och -type utelämnas använder notebooken standardlagerobjektet i den aktuella notebooken.
Använda T-SQL Magic-kommandot för att fråga SQL-databasen
Du kan också använda det magiska T-SQL-kommandot för att köra frågor mot en SQL-databas i Fabric. Syntaxen liknar frågespråket för ett datalager, men parametern -type måste vara inställd på SQLDatabase. Parametern -bind anger namnet på variabeln som T-SQL-frågans resultat ska bindas till.
I följande exempel lagras resultatet av frågan i en Python-variabel med namnet df2.
%%tsql -artifact sqldb1 -type SQLDatabase -bind df2
SELECT TOP (10) [AddressID]
,[AddressLine1]
,[AddressLine2]
,[City]
,[StateProvince]
,[CountryRegion]
,[PostalCode]
,[rowguid]
,[ModifiedDate]
FROM [SalesLT].[Address];
Använda ett magiskt T-SQL-kommando för att anropa slutpunkt för SQL-analys i lakehouse
Du kan också använda T-SQL magic-kommandot för att köra frågor mot en SQL-analysslutpunkt. Syntaxen liknar frågespråket för ett datalager, men parametern -type måste vara inställd på Lakehouse. Parametern -bind anger namnet på variabeln som T-SQL-frågans resultat ska bindas till.
I följande exempel lagras resultatet av frågan i en Python-variabel med namnet df3.
%%tsql -artifact lakehouse1 -type Lakehouse -bind df3
SELECT TOP (10) [ProductID],
[Name],
[ProductNumber],
[Color],
[StandardCost],
[ListPrice]
FROM [lakehouse1].[dbo].[Product];
Använda T-SQL-magiskt kommando som linjemagi
I stället för att köra T-SQL i en fullständig kodcell med %%tsqlkan du köra T-SQL på en enda rad med %tsql som linjemagi. Du måste dock först upprätta en sessionsanslutning.
Important
Innan du använder %tsql radmagi måste du köra ett %%tsql cellmagikommando med parametern -session för att initiera den magiska SQL-kontexten. Om du kör %tsql utan den här konfigurationen resulterar det i en SQLMagicContextInitializationException.
Förutsättningar för linjemagi
Initiera sessionen: I en cell som använder det
%%tsqlmagiska kommandot tar du med parametern-sessionför att upprätta anslutningskontexten. Till exempel:%%tsql -artifact ContosoDWH -type Warehouse -session SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];Använd linjemagi: När du har initierat sessionen kan du använda
%tsqli följande celler. Linjemagi använder anslutningen som upprättades i steg 1 utan att du behöver ange-artifactoch-typeigen. Till exempel:df = %tsql SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
Referera till Python-variabler i T-SQL
Du kan också referera till Python-variabler i T-SQL-kod. Om du vill göra det använder du symbolen {} följt av namnet på Python-variabeln. Om du till exempel har en Python-variabel med namnet countkan du referera till den enligt följande i din T-SQL-kod:
count = 10
df = %tsql SELECT TOP({count}) * FROM [dw1].[dbo].[Geography];
Om du vill se den fullständiga syntaxen använder du %tsql? kommandot . Det här kommandot visar hjälpinformationen för det magiska T-SQL-kommandot, inklusive tillgängliga parametrar och deras beskrivningar.
Note
Du kan köra fullständiga DML- och DDL-kommandon mot informationslagret eller SQL-databasen, men endast skrivskyddade frågor mot lakehouse SQL-slutpunkten.
Relaterat innehåll
Mer information om Fabric-notebook-filer finns i följande artiklar.
- Questions? Försök att fråga Fabric Community.
- Suggestions? Bidra med idéer för att förbättra Fabric.