Поделиться через


Запуск кода T-SQL в записных книжках Python Fabric

Сочетание T-SQL и Python в современных рабочих процессах данных обеспечивает мощный и гибкий подход, который сочетает сильные стороны обоих языков. SQL остается наиболее эффективным и читаемым способом запроса, фильтрации и соединения структурированных данных, тогда как Python превосходит в преобразовании данных, статистическом анализе, машинном обучении и визуализации. Объединяя T-SQL и Python, инженеры данных могут использовать лучшие из обоих миров, что позволяет им создавать надежные конвейеры данных, которые являются эффективными, обслуживаемыми и способными обрабатывать сложные задачи обработки данных.

В записных книжках Microsoft Fabric Python мы представили новую функцию, называемую магической командой T-SQL. Эта функция позволяет запускать код T-SQL непосредственно в записных книжках Python с полным выделением синтаксиса и завершением кода. Это означает, что вы можете написать код T-SQL в записной книжке Python, и он будет выполняться, как если бы это была ячейка T-SQL. Эта функция полезна для инженеров данных, которые хотят использовать возможности T-SQL, сохраняя гибкость записных книжек Python.

В этой статье мы рассмотрим волшебную команду T-SQL в записных книжках Microsoft Fabric. Мы рассмотрим, как включить эту команду, указать, какое хранилище использовать и как привязать результаты запросов T-SQL к переменным Python.

Эта функция доступна для записных книжек Python Fabric. Необходимо задать язык Python в записной книжке, а тип ячейки — T-SQL.

Important

Эта функция доступна в предварительной версии.

Использование магической команды T-SQL для запроса к хранилищу данных Fabric

Чтобы включить магическую команду T-SQL в записной книжке Fabric, необходимо задать %%tsql магическую команду в начале ячейки. Эта команда указывает, что код в этой ячейке должен рассматриваться как код T-SQL.

В этом примере мы используем магическую команду T-SQL для запроса к хранилищу данных Fabric. Команда принимает следующие параметры:

  • Параметр -artifact задает имя используемого хранилища данных. Код T-SQL в ячейке выполняется в указанном хранилище данных в Fabric.
  • Параметр -type задает тип элемента Fabric. Для хранилища данных Fabric используйте Warehouse.
  • Параметр -bind задает имя переменной для привязки результатов запроса T-SQL к. В следующем примере результаты запроса хранятся в переменной Python с именем df1. Если необходимо применить любое преобразование к переменной df1, это можно сделать с помощью кода Python в следующей ячейке. Параметр -bind является необязательным, но рекомендуется привязать результаты запроса T-SQL к переменной Python. Этот параметр позволяет легко управлять результатами с помощью кода Python и анализировать их.
  • Параметр -workspace является необязательным и используется, если хранилище находится в другой рабочей области. Без этого параметра записная книжка использует текущую рабочую область.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Снимок экрана: магическая команда tsql с хранилищем данных.

Если параметры -artifact и -type оба пропущены, ноутбук использует складской элемент по умолчанию в текущем ноутбуке.

Использование магической команды T-SQL для запроса к базе данных SQL

Вы также можете использовать магическую команду T-SQL для запроса базы данных SQL в Fabric. Синтаксис аналогичен запросу к хранилищу данных, но -type параметр должен иметь значение SQLDatabase. Параметр -bind задает имя переменной для привязки результатов запроса T-SQL к.

В следующем примере результат запроса хранится в переменной Python с именем df2.

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

Снимок экрана: магическая команда tsql с базой данных SQL.

Использование магической команды T-SQL для запроса конечной точки аналитики SQL Lakehouse

Вы также можете использовать магическую команду T-SQL для запроса конечной точки аналитики SQL. Синтаксис аналогичен запросу к хранилищу данных, но -type параметр должен иметь значение Lakehouse.

Использование магической команды T-SQL в качестве магии строки

Вместо выполнения T-SQL в полной ячейке %%tsql кода, можно выполнить T-SQL с %tsql как строковым магическим оператором в одной строке после объявления подключения для сеанса.

  1. В ячейку, использующую магическую %%tsql команду, включите параметр -session. For example:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Затем в следующих ячейках %tsql будет использовать -session подключение без необходимости предоставления -artifact и -type. Например, следующая команда строки позволяет выполнять быстрые запросы без необходимости создания полной ячейки кода.

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

Снимок экрана, показывающий магическую команду tsql с магической строкой.

Использование переменных Python в T-SQL

Можно также ссылаться на переменные Python в коде T-SQL. Для этого используйте {} символ, за которым следует имя переменной Python. Например, если у вас есть переменная countPython, вы можете ссылаться на нее, как показано в коде T-SQL:

count = 10

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

Снимок экрана: магическая команда tsql со ссылкой на переменную Python.

Чтобы просмотреть полный синтаксис, используйте %tsql? команду. Эта команда отображает справочную информацию для магической команды T-SQL, включая доступные параметры и их описания.

Note

Вы можете выполнять полные команды DML и DDL в хранилище данных или базе данных SQL, но только запросы только для чтения к конечной точке SQL Lakehouse.

Дополнительные сведения о записных книжках Fabric см. в следующих статьях.