Condividi tramite


Eseguire il codice T-SQL nei notebook Python di Fabric

La combinazione di T-SQL e Python nei flussi di lavoro dei dati moderni offre un approccio potente e flessibile che combina i punti di forza di entrambi i linguaggi. SQL rimane il modo più efficiente e leggibile per eseguire query, filtrare e unire dati strutturati, mentre Python eccelle nella trasformazione dei dati, nell'analisi statistica, nell'apprendimento automatico e nella visualizzazione. Combinando T-SQL e Python, i data engineer possono usare il meglio di entrambi i mondi, consentendo loro di creare pipeline di dati affidabili efficienti, gestibili e in grado di gestire attività complesse di elaborazione dati.

Nei notebook Python di Microsoft Fabric è stata introdotta una nuova funzionalità denominata comando magic T-SQL. Questa funzionalità consente di eseguire il codice T-SQL direttamente nei notebook Python con evidenziazione completa della sintassi e completamento del codice. Ciò significa che è possibile scrivere codice T-SQL in un notebook Python e verrà eseguito come se fosse una cella T-SQL. Questa funzionalità è utile per i data engineer che vogliono usare la potenza di T-SQL, pur continuando a usare la flessibilità dei notebook Python.

In questo articolo, esploriamo il comando magic T-SQL nei notebook di Microsoft Fabric. Viene illustrato come abilitare questo comando, specificare il warehouse da usare e come associare i risultati delle query T-SQL alle variabili Python.

Questa funzionalità è disponibile per i notebook Python di Fabric. È necessario impostare il linguaggio su Python nel notebook.

Importante

Questa funzionalità si trova in Anteprima.

Uso del comando magic T-SQL per eseguire query su Fabric Data Warehouse

Per abilitare il comando magic T-SQL nel notebook di Fabric, è necessario impostare il comando magic %%tsql all'inizio della cella. Questo comando indica che il codice in tale cella deve essere considerato come codice T-SQL.

In questo esempio, stiamo usando il comando magico T-SQL per interrogare un'istanza di Fabric Data Warehouse. Il comando accetta i parametri seguenti:

  • Il -artifact parametro specifica il nome del data warehouse da usare. Il codice T-SQL nella cella viene eseguito sul data warehouse specificato.
  • Il -type parametro specifica il tipo dell'artefatto, che in questo caso è un data warehouse.
  • Il -bind parametro specifica il nome della variabile a cui associare i risultati della query T-SQL. Nell'esempio seguente i risultati della query vengono archiviati in una variabile Python denominata df1. Se è necessario applicare qualsiasi trasformazione alla variabile df1, è possibile farlo usando il codice Python nella cella successiva. Il -bind parametro è facoltativo, ma è consigliabile associare i risultati della query T-SQL a una variabile Python. Questo parametro consente di modificare e analizzare facilmente i risultati usando il codice Python.
  • Il -workspace parametro è facoltativo e viene usato se il magazzino si trova in un'area di lavoro diversa. Senza questo parametro, il notebook usa l'area di lavoro corrente.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
			[ZipCodeBKey],
			[County],
			[City],
			[State],
			[Country],
			[ZipCode]
FROM [dw1].[dbo].[Geography]

Screenshot che mostra il comando tsql magic connesso al data warehouse.

Se vengono ignorati sia il parametro -artifact che il parametro -type, il notebook utilizza il data warehouse predefinito nel notebook corrente.

Uso del comando magic T-SQL per eseguire query sul database SQL

È anche possibile usare il comando magico T-SQL per eseguire query su un database SQL di Fabric. La sintassi è simile all'esecuzione di query su un data warehouse, ma il parametro dell'artefatto deve essere impostato su SQLDatabase. Il -bind parametro specifica il nome della variabile a cui associare i risultati della query T-SQL. Nell'esempio seguente il risultato della query viene archiviato in una variabile Python denominata df2.

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

Screenshot che mostra il comando tsql

Uso del comando magic T-SQL per interrogare l'endpoint SQL di lakehouse

È anche possibile usare il comando magic T-SQL per eseguire query su un endpoint SQL di Fabric. La sintassi è simile all'esecuzione di query su un data warehouse, ma il parametro dell'artefatto deve essere impostato su Lakehouse.

Uso del comando magico T-SQL come comando magico di riga

Oltre a eseguire T-SQL in una cella di codice completa con %%tsql, è anche possibile eseguire T-SQL in una singola riga con %tsql come comando magico di riga. Il comando della riga seguente consente di eseguire query rapide senza dover creare una cella di codice completa.

df = %tsql select top(10) * from [dw1].[dbo].[Geography]

Screenshot che mostra il comando magico tsql con il comando magico di riga.

Fare riferimento alle variabili Python in T-SQL

È anche possibile fare riferimento alle variabili Python nel codice T-SQL. A tale scopo, usare il {} simbolo seguito dal nome della variabile Python. Ad esempio, se si dispone di una variabile Python denominata count, è possibile farvi riferimento come indicato di seguito nel codice T-SQL:

count = 10

df = %tsql select top({count}) * from [dw1].[dbo].[Geography]

Screenshot che mostra il comando magic tsql con variabile Python di riferimento.

Per visualizzare la sintassi completa, usare il %tsql? comando . Questo comando visualizza le informazioni di aiuto per il comando magico T-SQL, incluso i parametri disponibili e le relative descrizioni.

Annotazioni

È possibile eseguire i comandi DML e DDL completi sul data warehouse o sul database SQL, ma solo le query di sola lettura sull'endpoint SQL del lakehouse.

Per altre informazioni sui notebook di Fabric, vedere i seguenti articoli: