Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Blandingen av T-SQL og Python i moderne dataarbeidsflyter gir en kraftig og fleksibel tilnærming som blander styrkene til begge språkene. SQL er fortsatt den mest effektive og lesbare måten å spørre, filtrere og koble sammen strukturerte data på, mens Python utmerker seg ved datatransformasjon, statistisk analyse, maskinlæring og visualisering. Ved å kombinere T-SQL og Python kan dataingeniører bruke det beste fra begge verdener, slik at de kan bygge robuste pipeliner som er effektive, vedlikeholdbare og i stand til å håndtere komplekse databehandlingsoppgaver.
I Microsoft Fabric Python-notatblokker introduserte vi en ny funksjon kalt T-SQL Magic Command. Med denne funksjonen kan du kjøre T-SQL-kode direkte i Python-notatblokker med full syntaksutheving og fullføring av kode. Dette betyr at du kan skrive T-SQL-kode i en Python-notatblokk, og den vil bli utført som om den var en T-SQL-celle. Denne funksjonen er nyttig for datateknikere som ønsker å bruke kraften i T-SQL, samtidig som de bruker fleksibiliteten til Python-notatblokker.
I denne artikkelen utforsker vi kommandoen T-SQL magic i Microsoft Fabric-notatblokker. Vi dekker hvordan du aktiverer denne kommandoen, angir hvilket lager som skal brukes, og hvordan du binder resultatene av T-SQL-spørringer til Python-variabler.
Denne funksjonen er tilgjengelig for Fabric Python-notatblokker. Du må sette språket til Python i notatblokken, og celletypen til T-SQL.
Important
Denne funksjonen er i forhåndsvisning.
Bruke T-SQL Magic-kommandoen til å spørre Fabric-datalageret
Hvis du vil aktivere kommandoen T-SQL magic i Fabric-notatblokken, må du angi den %%tsql magiske kommandoen i begynnelsen av cellen. Denne kommandoen angir at koden i cellen skal behandles som T-SQL-kode.
I dette eksemplet bruker vi den magiske T-SQL-kommandoen til å spørre et Fabric Data Warehouse. Kommandoen tar følgende parametere:
- Parameteren
-artifactangir navnet på datalageret som skal brukes. T-SQL-koden i cellen kjøres mot det angitte datalageret i Fabric. - Parameteren
-typeangir typen Stoff-elementet. For Fabric Data Warehouse bruker duWarehouse. - Parameteren
-bindangir navnet på variabelen som resultatene av T-SQL-spørringen skal bindes til. I eksemplet nedenfor lagres resultatene av spørringen i en Python-variabel kaltdf1. Hvis du trenger å bruke en transformasjon på df1-variabelen, kan du gjøre dette ved hjelp av Python-kode i neste celle. Parameteren-binder valgfri, men det anbefales å binde resultatene av T-SQL-spørringen til en Python-variabel. Med denne parameteren kan du enkelt manipulere og analysere resultatene ved hjelp av Python-kode. - Parameteren
-workspaceer valgfri og brukes hvis lageret er plassert i et annet arbeidsområde. Uten denne parameteren bruker notatblokken gjeldende arbeidsområde.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
[ZipCodeBKey],
[County],
[City],
[State],
[Country],
[ZipCode]
FROM [dw1].[dbo].[Geography]
Hvis både parameterne -artifact og -type hoppes over, bruker notatblokken standard lagervare i gjeldende notatblokk.
Bruke T-SQL magisk kommando for å spørre SQL-databasen
Du kan også bruke den magiske kommandoen T-SQL til å spørre en SQL-database i Fabric. Syntaksen ligner på spørring av et datavarehus, men parameteren -type må settes til SQLDatabase. Parameteren -bind angir navnet på variabelen som resultatene av T-SQL-spørringen skal bindes til.
I eksemplet nedenfor lagres resultatet av spørringen i en Python-variabel kalt df2.
%%tsql -artifact sqldb1 -type SQLDatabase -bind df2
SELECT TOP (10) [AddressID]
,[AddressLine1]
,[AddressLine2]
,[City]
,[StateProvince]
,[CountryRegion]
,[PostalCode]
,[rowguid]
,[ModifiedDate]
FROM [SalesLT].[Address];
Bruke T-SQL magisk kommando til å spørre SQL-analyseendepunkt for lakehouse
Du kan også bruke den magiske kommandoen T-SQL til å spørre et SQL-analyseendepunkt. Syntaksen ligner på spørring av et datavarehus, men parameteren -type må settes til Lakehouse. Parameteren -bind angir navnet på variabelen som resultatene av T-SQL-spørringen skal bindes til.
I eksemplet nedenfor lagres resultatet av spørringen i en Python-variabel kalt df3.
%%tsql -artifact lakehouse1 -type Lakehouse -bind df3
SELECT TOP (10) [ProductID],
[Name],
[ProductNumber],
[Color],
[StandardCost],
[ListPrice]
FROM [lakehouse1].[dbo].[Product];
Bruke T-SQL magic-kommandoen som linjemagi
I stedet for å kjøre T-SQL i en full kodecelle med %%tsql, kan du kjøre T-SQL i én linje med %tsql som linjemagi. Du må imidlertid først etablere en sesjonsforbindelse.
Important
Før du bruker %tsql Line Magic, må du kjøre en %%tsql cell magic-kommando med parameteren -session for å initialisere SQL-magic-konteksten. Kjøring %tsql uten dette oppsettet vil resultere i en SQLMagicContextInitializationException.
Forutsetninger for linjemagi
Initialiser økten: I en celle som bruker magikommandoen
%%tsql, inkluder parameteren-sessionfor å etablere tilkoblingskonteksten. Eksempel:%%tsql -artifact ContosoDWH -type Warehouse -session SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];Bruk linjemagi: Etter å ha initialisert økten, kan du bruke
%tsqli følgende celler. Linjemagien vil bruke forbindelsen etablert i steg 1 uten at du må spesifisere-artifactog-typeigjen. Eksempel:df = %tsql SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
Referere til Python-variabler i T-SQL
Du kan også referere til Python-variabler i T-SQL-kode. Hvis du vil gjøre dette, bruker du symbolet {} etterfulgt av navnet på Python-variabelen. Hvis du for eksempel har en Python-variabel kalt count, kan du referere til den som følger i T-SQL-koden:
count = 10
df = %tsql SELECT TOP({count}) * FROM [dw1].[dbo].[Geography];
Hvis du vil se hele syntaksen %tsql? , bruker du kommandoen. Denne kommandoen viser hjelpeinformasjonen for T-SQL Magic-kommandoen, inkludert tilgjengelige parametere og deres beskrivelser.
Note
Du kan kjøre alle DML- og DDL-kommandoene mot datalageret eller SQL-databasen, men bare skrivebeskyttet spørring mot sql-endepunktet i lakehouse.
Beslektet innhold
Hvis du vil ha mer informasjon om Fabric-notatblokker, kan du se følgende artikler.
- Questions? Prøv å spørre Fabric Community.
- Suggestions? Bidra med ideer for å forbedre Fabric.