다음을 통해 공유


Fabric Python Notebook에서 T-SQL 코드 실행

최신 데이터 워크플로에서 T-SQL과 Python의 혼합은 두 언어의 강점을 혼합하는 강력하고 유연한 접근 방식을 제공합니다. SQL은 구조화된 데이터를 쿼리, 필터링 및 조인하는 가장 효율적이고 읽기 쉬운 방법이며, Python은 데이터 변환, 통계 분석, 기계 학습 및 시각화에 탁월합니다. T-SQL과 Python을 결합하여 데이터 엔지니어는 두 세계의 최고를 사용하여 효율적이고 유지 관리 가능하며 복잡한 데이터 처리 작업을 처리할 수 있는 강력한 데이터 파이프라인을 빌드할 수 있습니다.

Microsoft Fabric Python Notebook에서는 T-SQL 매직 명령이라는 새로운 기능을 도입했습니다. 이 기능을 사용하면 전체 구문 강조 표시 및 코드 완성을 통해 Python Notebook에서 직접 T-SQL 코드를 실행할 수 있습니다. 즉, Python Notebook에서 T-SQL 코드를 작성할 수 있으며 T-SQL 셀인 것처럼 실행됩니다. 이 기능은 Python Notebook의 유연성을 계속 사용하면서 T-SQL의 기능을 사용하려는 데이터 엔지니어에게 유용합니다.

이 문서에서는 Microsoft Fabric Notebook의 T-SQL 매직 명령을 살펴봅니다. 이 명령을 사용하도록 설정하고, 사용할 웨어하우스를 지정하고, T-SQL 쿼리 결과를 Python 변수에 바인딩하는 방법을 설명합니다.

이 기능은 Fabric Python Notebook에서 사용할 수 있습니다. Notebook에서 언어를 Python으로 설정해야 합니다.

중요합니다

이 기능은 프리뷰 상태입니다.

T-SQL 매직 명령을 사용하여 패브릭 데이터 웨어하우스 쿼리

Fabric Notebook에서 T-SQL 매직 명령을 사용하도록 설정하려면 셀의 시작 부분에 매직 명령을 설정 %%tsql 해야 합니다. 이 명령은 해당 셀의 코드를 T-SQL 코드로 처리해야 임을 나타냅니다.

이 예제에서는 T-SQL 매직 명령을 사용하여 패브릭 데이터 웨어하우스를 쿼리합니다. 이 명령은 다음 매개 변수를 사용합니다.

  • 매개 변수는 -artifact 사용할 데이터 웨어하우스의 이름을 지정합니다. 셀의 T-SQL 코드는 지정된 데이터 웨어하우스에 대해 실행됩니다.
  • 매개 변수는 -type 아티팩트 형식을 지정합니다. 이 경우 데이터 웨어하우스입니다.
  • 매개 변수는 -bind T-SQL 쿼리의 결과를 바인딩할 변수의 이름을 지정합니다. 다음 예제에서는 쿼리 결과가 Python df1변수인 에 저장됩니다. df1 변수에 변환을 적용해야 하는 경우 다음 셀에서 Python 코드를 사용하여 변환을 수행할 수 있습니다. 매개 변수는 -bind 선택 사항이지만 T-SQL 쿼리 결과를 Python 변수에 바인딩하는 것이 좋습니다. 이 매개 변수를 사용하면 Python 코드를 사용하여 결과를 쉽게 조작하고 분석할 수 있습니다.
  • 매개 변수는 -workspace 선택 사항이며 웨어하우스가 다른 작업 영역에 있는 경우 사용됩니다. 이 매개 변수가 없으면 Notebook은 현재 작업 영역을 사용합니다.
%%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 Database를 쿼리할 수도 있습니다. 구문은 데이터 웨어하우스 쿼리와 유사하지만 아티팩트 매개 변수를 으로 설정 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]

sql Database가 있는 tsql 매직 명령을 보여 주는 스크린샷

T-SQL 매직 커맨드를 사용하여 'lakehouse' SQL 엔드포인트를 쿼리하기

T-SQL 매직 명령을 사용하여 패브릭 SQL 엔드포인트를 쿼리할 수도 있습니다. 구문은 데이터 웨어하우스 쿼리와 유사하지만 아티팩트 매개 변수를 으로 설정 Lakehouse해야 합니다.

T-SQL 매직 명령을 라인 매직으로 사용하기

전체 코드 셀에서 T-SQL을 %%tsql실행하는 것 외에도 줄 매직으로 한 줄 %tsql 로 T-SQL을 실행할 수도 있습니다. 다음 줄 명령을 사용하면 전체 코드 셀을 만들 필요 없이 빠른 쿼리를 실행할 수 있습니다.

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

라인 매직 명령이 포함된 tsql 매직 명령을 보여주는 스크린샷

T-SQL에서 Python 변수 참조

T-SQL 코드에서 Python 변수를 참조할 수도 있습니다. 이렇게 하려면 기호 뒤에 Python 변수의 이름을 사용합니다 {} . 예를 들어 Python 변수가 호출 count된 경우 T-SQL 코드에서 다음과 같이 참조할 수 있습니다.

count = 10

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

참조 python 변수가 있는 tsql 매직 명령을 보여 주는 스크린샷

전체 구문을 보려면 명령을 사용합니다 %tsql? . 이 명령은 사용 가능한 매개 변수 및 해당 설명을 포함하여 T-SQL 매직 명령에 대한 도움말 정보를 표시합니다.

비고

데이터 웨어하우스 또는 SQL 데이터베이스에 대해 전체 DML 및 DDL 명령을 실행할 수 있지만 lakehouse sql 엔드포인트에 대한 읽기 전용 쿼리만 실행할 수 있습니다.

Fabric Notebook에 대한 자세한 내용은 다음 문서를 참조하세요.