최신 데이터 워크플로에서 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 쿼리의 결과를 바인딩할 변수의 이름을 지정합니다. 다음 예제에서는 쿼리 결과가 Pythondf1
변수인 에 저장됩니다. 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]
-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]
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]
T-SQL에서 Python 변수 참조
T-SQL 코드에서 Python 변수를 참조할 수도 있습니다. 이렇게 하려면 기호 뒤에 Python 변수의 이름을 사용합니다 {}
. 예를 들어 Python 변수가 호출 count
된 경우 T-SQL 코드에서 다음과 같이 참조할 수 있습니다.
count = 10
df = %tsql select top({count}) * from [dw1].[dbo].[Geography]
전체 구문을 보려면 명령을 사용합니다 %tsql?
. 이 명령은 사용 가능한 매개 변수 및 해당 설명을 포함하여 T-SQL 매직 명령에 대한 도움말 정보를 표시합니다.
비고
데이터 웨어하우스 또는 SQL 데이터베이스에 대해 전체 DML 및 DDL 명령을 실행할 수 있지만 lakehouse sql 엔드포인트에 대한 읽기 전용 쿼리만 실행할 수 있습니다.
관련 콘텐츠
Fabric Notebook에 대한 자세한 내용은 다음 문서를 참조하세요.
- 질문? Fabric 커뮤니티에 문의해 보세요.
- 제안 사항은? 패브릭을 개선하기 위한 아이디어 제안하기.