Sdílet prostřednictvím


Spouštění kódu T-SQL v Python poznámkových blocích Fabric

Kombinace T-SQL a Pythonu v moderních datových pracovních postupech nabízí výkonný a flexibilní přístup, který kombinuje silné stránky obou jazyků. SQL zůstává nejúčinnějším a čitelným způsobem dotazování, filtrování a spojení strukturovaných dat, zatímco Python exceluje při transformaci dat, statistické analýze, strojovém učení a vizualizaci. Díky kombinování T-SQL a Pythonu můžou datoví inženýři využít to nejlepší z obou světů, což jim umožní vytvářet robustní kanály, které jsou efektivní, udržovatelné a schopné zpracovávat složité úlohy zpracování dat.

V poznámkových blocích Microsoft Fabric v Pythonu jsme představili novou funkci s názvem magický příkaz T-SQL. Tato funkce umožňuje spouštět kód T-SQL přímo v poznámkových blocích Pythonu s úplným zvýrazňováním syntaxe a dokončováním kódu. To znamená, že do poznámkového bloku Pythonu můžete napsat kód T-SQL a spustí se, jako by šlo o buňku T-SQL. Tato funkce je užitečná pro datové inženýry, kteří chtějí používat výkon T-SQL, a přitom stále používají flexibilitu poznámkových bloků Pythonu.

V tomto článku prozkoumáme magický příkaz T-SQL v poznámkových blocích Microsoft Fabric. Probereme, jak povolit tento příkaz, určit, který sklad se má použít, a jak svázat výsledky dotazů T-SQL s proměnnými Pythonu.

Tato funkce je dostupná pro poznámkové bloky Pythonu Fabric. V poznámkovém bloku musíte nastavit jazyk na Python a typ buňky na T-SQL.

Important

Tato funkce je ve verzi Preview.

Použití příkazu magic T-SQL k dotazování datového skladu Fabric

Chcete-li v poznámkovém bloku Fabric povolit T-SQL příkaz magic, musíte na začátku buňky nastavit příkaz %%tsql. Tento příkaz označuje kód v této buňce, který by se měl považovat za kód T-SQL.

V tomto příkladu používáme příkaz magic T-SQL k dotazování datového skladu Fabric. Příkaz přijímá následující parametry:

  • Parametr -artifact určuje název datového skladu, který se má použít. Kód T-SQL v buňce se spustí proti zadanému datovému skladu ve Fabric.
  • Parametr -type určuje typ položky Fabric. V případě Fabric Data Warehouse použijte Warehouse.
  • Parametr -bind určuje název proměnné pro vazbu výsledků dotazu T-SQL na. V následujícím příkladu jsou výsledky dotazu uloženy v proměnné Pythonu s názvem df1. Pokud potřebujete použít jakoukoli transformaci proměnné df1, můžete to udělat pomocí kódu Pythonu v další buňce. Parametr -bind je volitelný, ale doporučuje se svázat výsledky dotazu T-SQL s proměnnou Pythonu. Tento parametr umožňuje snadno manipulovat s výsledky a analyzovat je pomocí kódu Pythonu.
  • Parametr -workspace je volitelný a používá se, pokud se sklad nachází v jiném pracovním prostoru. Bez tohoto parametru používá poznámkový sešit aktuální pracovní prostor.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Snímek obrazovky znázorňující příkaz magic tsql s datovým skladem

Pokud se přeskočí oba parametry -artifact-type , poznámkový blok použije výchozí položku skladu v aktuálním poznámkovém bloku.

Použití příkazu magic T-SQL k dotazování databáze SQL

K dotazování databáze SQL v prostředí Fabric můžete také použít příkaz T-SQL magic. Syntaxe se podobá dotazování datového skladu, ale -type parametr musí být nastaven na SQLDatabasehodnotu . Parametr -bind určuje název proměnné pro vazbu výsledků dotazu T-SQL na.

V následujícím příkladu je výsledek dotazu uložen v proměnné Pythonu s názvem df2.

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

Snímek obrazovky znázorňující příkaz magic tsql s databází SQL

Použití příkazu magic T-SQL k dotazování koncového bodu lakehouse SQL Analytics

K dotazování koncového bodu analýzy SQL můžete použít také příkaz magic T-SQL. Syntaxe se podobá dotazování datového skladu, ale -type parametr musí být nastaven na Lakehousehodnotu . Parametr -bind určuje název proměnné pro vazbu výsledků dotazu T-SQL na.

V následujícím příkladu je výsledek dotazu uložen v proměnné Pythonu s názvem df3.

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

Použití příkazu magic T-SQL jako magie řádku

Místo spuštění T-SQL v celé buňce kódu %%tsql, můžete spustit T-SQL v jednom řádku %tsql jako „line magic“. Nejprve však musíte navázat připojení relace.

Important

Před použitím %tsql linkové magie musíte spustit %%tsql příkaz magického bloku s parametrem -session pro inicializaci kontextu SQL magie. Spuštění %tsql bez tohoto nastavení bude mít za následek SQLMagicContextInitializationException.

Předpoklady pro funkci line magic

  1. Inicializace relace: V buňce, která používá %%tsql příkaz magic, zahrňte parametr -session pro navázání kontextu připojení. Například:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Použijte line magic: Po inicializaci relace můžete použít %tsql v následujících buňkách. Magie čáry použije připojení vytvořené v kroku 1, aniž byste museli -artifact a -type zadávat znovu. Například:

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

Snímek obrazovky znázorňující magický příkaz tsql s magií řádku.

Odkazy na proměnné Pythonu v T-SQL

Můžete také odkazovat proměnné Pythonu v kódu T-SQL. Uděláte to tak, že použijete {} symbol následovaný názvem proměnné Pythonu. Pokud máte například volánou countproměnnou Pythonu, můžete na ni odkazovat následujícím způsobem v kódu T-SQL:

count = 10

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

Snímek obrazovky s příkazem magic tsql s referenční proměnnou Pythonu

Pokud chcete zobrazit úplnou syntaxi, použijte %tsql? příkaz. Tento příkaz zobrazí informace nápovědy pro příkaz magic T-SQL, včetně dostupných parametrů a jejich popisů.

Note

Úplné příkazy DML a DDL můžete spouštět pro datový sklad nebo databázi SQL, ale pouze dotaz jen pro čtení na koncový bod SQL lakehouse.

Další informace o poznámkových blocích Fabric najdete v následujících článcích.