Compartilhar via


Executar código T-SQL em notebooks Python do Fabric

A combinação de T-SQL e Python em fluxos de trabalho de dados modernos oferece uma abordagem poderosa e flexível que combina os pontos fortes de ambas as linguagens. O SQL continua sendo a maneira mais eficiente e legível de consultar, filtrar e unir dados estruturados, enquanto o Python se destaca na transformação de dados, análise estatística, machine learning e visualização. Combinando T-SQL e Python, os engenheiros de dados podem usar o melhor dos dois mundos, permitindo que eles criem pipelines robustos que sejam eficientes, mantenedíveis e capazes de lidar com tarefas complexas de processamento de dados.

Nos notebooks python do Microsoft Fabric, introduzimos um novo recurso chamado comando mágico T-SQL. Esse recurso permite que você execute o código T-SQL diretamente em notebooks Python com realce de sintaxe completo e preenchimento de código. Isso significa que você pode escrever código T-SQL em um notebook Python e ele será executado como se fosse uma célula T-SQL. Esse recurso é útil para engenheiros de dados que desejam usar o poder do T-SQL enquanto ainda usam a flexibilidade de notebooks Python.

Neste artigo, exploramos o comando mágico T-SQL nos notebooks do Microsoft Fabric. Abordamos como habilitar esse comando, especificar qual warehouse usar e como associar os resultados de consultas T-SQL a variáveis do Python.

Esse recurso está disponível para notebooks Python do Fabric. Você precisa definir o idioma como Python no notebook e o tipo de célula como T-SQL.

Important

Esse recurso está na versão prévia.

Usando o comando magic T-SQL para consultar o data warehouse do Fabric

Para habilitar o comando mágico T-SQL no bloco de anotações do Fabric, você precisa definir o %%tsql comando mágico no início da célula. Esse comando indica que o código nessa célula deve ser tratado como código T-SQL.

Neste exemplo, estamos usando o comando mágico T-SQL para consultar um Fabric Data Warehouse. O comando usa os seguintes parâmetros:

  • O -artifact parâmetro especifica o nome do data warehouse a ser usado. O código T-SQL na célula é executado no data warehouse especificado no Fabric.
  • O parâmetro -type especifica o tipo do item Fabric. Para o Fabric Data Warehouse, use Warehouse.
  • O -bind parâmetro especifica o nome da variável à qual associar os resultados da consulta T-SQL. No exemplo a seguir, os resultados da consulta são armazenados em uma variável python chamada df1. Se você precisar aplicar qualquer transformação à variável df1, poderá fazer isso usando o código Python na próxima célula. O -bind parâmetro é opcional, mas é recomendável associar os resultados da consulta T-SQL a uma variável do Python. Esse parâmetro permite manipular e analisar facilmente os resultados usando o código Python.
  • O -workspace parâmetro é opcional e será usado se o warehouse estiver localizado em um workspace diferente. Sem esse parâmetro, o notebook usa o workspace atual.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Captura de tela mostrando o comando tsql magic com data warehouse.

Se os parâmetros -artifact e -type forem ignorados, o notebook usará o item de armazenamento padrão no notebook atual.

Usando o comando magic T-SQL para consultar o banco de dados SQL

Você também pode usar o comando magic T-SQL para consultar um banco de dados SQL no Fabric. A sintaxe é semelhante à consulta de um data warehouse, mas o -type parâmetro deve ser definido como SQLDatabase. O -bind parâmetro especifica o nome da variável à qual associar os resultados da consulta T-SQL.

No exemplo a seguir, o resultado da consulta é armazenado em uma variável python chamada df2.

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

Captura de tela mostrando o comando tsql magic com o banco de dados sql.

Usando o comando mágico T-SQL para consultar o endpoint de análise SQL do Lakehouse

Você também pode usar o comando mágico T-SQL para consultar um endpoint de análise SQL. A sintaxe é semelhante à consulta de um data warehouse, mas o -type parâmetro deve ser definido como Lakehouse. O -bind parâmetro especifica o nome da variável à qual associar os resultados da consulta T-SQL.

No exemplo a seguir, o resultado da consulta é armazenado em uma variável python chamada df3.

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

Usando o comando mágico T-SQL como mágica de linha

Em vez de rodar o T-SQL em uma célula de código completa com %%tsql, você pode executá-lo em uma única linha com %tsql como comando mágico de linha. No entanto, primeiro você deve estabelecer uma conexão de sessão.

Important

Antes de usar %tsql a mágica de linha, você deve executar um %%tsql comando de célula mágica com o -session parâmetro para inicializar o contexto mágico do SQL. A execução %tsql sem essa configuração resultará em uma SQLMagicContextInitializationException.

Pré-requisitos para mágica de linha

  1. Inicializar a sessão: em uma célula que usa o %%tsql comando magic, inclua o parâmetro -session para estabelecer o contexto de conexão. Por exemplo:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Use a mágica de linha: após inicializar a sessão, você poderá usar %tsql nas células seguintes. A mágica de linha usará a conexão estabelecida na etapa 1 sem exigir que você especifique -artifact e -type novamente. Por exemplo:

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

Captura de tela mostrando o comando tsql magic com line magic.

Referenciar variáveis do Python no T-SQL

Você também pode referenciar variáveis do Python no código T-SQL. Para fazer isso, use o {} símbolo seguido pelo nome da variável Python. Por exemplo, se você tiver uma variável python chamada count, poderá referenciá-la da seguinte maneira no código T-SQL:

count = 10

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

Captura de tela mostrando o comando tsql magic com a variável python de referência.

Para ver a sintaxe completa, use o %tsql? comando. Esse comando exibe as informações de ajuda para o comando magic T-SQL, incluindo os parâmetros disponíveis e suas descrições.

Note

Você pode executar os comandos DML e DDL completos no data warehouse ou no banco de dados SQL, mas somente consultas em modo somente leitura no ponto de extremidade SQL do Lakehouse.

Para obter mais informações sobre os notebooks do Fabric, confira os artigos a seguir.