Compartir a través de


Ejecución de código T-SQL en cuadernos de Python de Fabric

La combinación de T-SQL y Python en flujos de trabajo de datos modernos ofrece un enfoque eficaz y flexible que combina los puntos fuertes de ambos lenguajes. SQL sigue siendo la manera más eficaz y legible de consultar, filtrar y combinar datos estructurados, mientras que Python destaca en la transformación de datos, el análisis estadístico, el aprendizaje automático y la visualización. Al combinar T-SQL y Python, los ingenieros de datos pueden usar lo mejor de ambos mundos, lo que les permite crear canalizaciones sólidas que sean eficaces, fáciles de mantener y capaces de controlar tareas complejas de procesamiento de datos.

En los cuadernos de Python de Microsoft Fabric, se introdujo una nueva característica denominada comando mágico de T-SQL. Esta característica permite ejecutar código T-SQL directamente en cuadernos de Python con resaltado de sintaxis completo y finalización de código. Esto significa que puede escribir código T-SQL en un cuaderno de Python y se ejecutará como si fuera una celda T-SQL. Esta característica es útil para los ingenieros de datos que desean usar la potencia de T-SQL mientras siguen usando la flexibilidad de los cuadernos de Python.

En este artículo, exploraremos el comando mágico de T-SQL en cuadernos de Microsoft Fabric. Tratamos cómo habilitar este comando, especificar qué almacenamiento usar y cómo enlazar los resultados de las consultas de T-SQL a variables de Python.

Esta característica está disponible para cuadernos de Python de Fabric. Debe establecer el lenguaje en Python en el cuaderno y el tipo de celda en T-SQL.

Important

Esta característica se encuentra en versión preliminar.

Uso del comando magic de T-SQL para consultar el almacenamiento de datos de Fabric

Para habilitar el comando mágico de T-SQL en el cuaderno de Fabric, debe establecer el comando mágico %%tsql al principio de la celda. Este comando indica que el código de esa celda debe tratarse como código T-SQL.

En este ejemplo, se usa el comando mágico de T-SQL para consultar un almacenamiento de datos de Fabric. El comando toma los parámetros siguientes:

  • El -artifact parámetro especifica el nombre del almacenamiento de datos que se va a usar. El código T-SQL de la celda se ejecuta en el almacenamiento de datos especificado en Fabric.
  • El -type parámetro especifica el tipo del elemento Fabric. Para el Almacén de Datos de Fabric, utilice Warehouse.
  • El -bind parámetro especifica el nombre de la variable a la que enlazar los resultados de la consulta T-SQL. En el ejemplo siguiente, los resultados de la consulta se almacenan en una variable de Python denominada df1. Si necesita aplicar cualquier transformación a la variable df1, puede hacerlo mediante código de Python en la celda siguiente. El -bind parámetro es opcional, pero se recomienda enlazar los resultados de la consulta T-SQL a una variable de Python. Este parámetro permite manipular y analizar fácilmente los resultados mediante código de Python.
  • El -workspace parámetro es opcional y se usa si el almacén se encuentra en un área de trabajo diferente. Sin este parámetro, el cuaderno usa el área de trabajo actual.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Captura de pantalla que muestra el comando magic de tsql con el almacenamiento de datos.

Si se omiten los parámetros -artifact y -type, el cuaderno usa el elemento de almacén predeterminado en el cuaderno actual.

Uso del comando magic de T-SQL para consultar la base de datos SQL

También puede usar el comando magic de T-SQL para consultar una base de datos SQL en Fabric. La sintaxis es similar a consultar un almacenamiento de datos, pero el parámetro -type debe establecerse en SQLDatabase. El -bind parámetro especifica el nombre de la variable a la que enlazar los resultados de la consulta T-SQL.

En el ejemplo siguiente, el resultado de la consulta se almacena en una variable de Python denominada 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 pantalla que muestra el comando mágico de tsql con la base de datos SQL.

Uso del comando mágico T-SQL para consultar el endpoint de SQL Analytics en lakehouse

También puede usar el comando mágico de T-SQL para consultar un punto de conexión de SQL Analytics. La sintaxis es similar a consultar un almacenamiento de datos, pero el parámetro -type debe establecerse en Lakehouse. El -bind parámetro especifica el nombre de la variable a la que enlazar los resultados de la consulta T-SQL.

En el ejemplo siguiente, el resultado de la consulta se almacena en una variable de Python denominada df3.

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

Uso del comando mágico de T-SQL como magia de línea

En lugar de ejecutar T-SQL en una celda de código completa con %%tsql, puede ejecutar T-SQL en una sola línea con %tsql como un comando mágico de línea. Sin embargo, primero debe establecer una conexión de sesión.

Important

Antes de usar %tsql la magia de línea, debe ejecutar un comando mágico de celda %%tsql con el parámetro -session para inicializar el contexto mágico de SQL. Si se ejecuta %tsql sin esta configuración, se producirá una SQLMagicContextInitializationException.

Requisitos previos para la magia de línea

  1. Inicializar la sesión: en una celda que usa el %%tsql comando magic, incluya el parámetro -session para establecer el contexto de conexión. Por ejemplo:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Use line magic: Después de inicializar la sesión, usted puede usar %tsql en las celdas siguientes. La línea mágica usará la conexión establecida en el paso 1 sin necesidad de especificar -artifact y -type de nuevo. Por ejemplo:

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

Captura de pantalla que muestra el comando mágico de tsql con el comando mágico de línea.

Referencia de variables de Python en T-SQL

También puede hacer referencia a variables de Python en código T-SQL. Para ello, use el {} símbolo seguido del nombre de la variable de Python. Por ejemplo, si tiene una variable de Python denominada count, puede hacer referencia a ella como se indica a continuación en el código de T-SQL:

count = 10

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

Captura de pantalla que muestra el comando magic de tsql con la variable de Python de referencia.

Para ver la sintaxis completa, use el %tsql? comando . Este comando muestra la información de ayuda del comando mágico de T-SQL, incluidos los parámetros disponibles y sus descripciones.

Note

Puede ejecutar los comandos completos DML y DDL contra el almacén de datos o la base de datos SQL, pero solo consultas de solo lectura en el endpoint SQL de lakehouse.

Para obtener más información sobre los cuadernos de Fabric, consulte los siguientes artículos.