Freigeben über


Ausführen von T-SQL-Code in Fabric Python-Notizbüchern

Die Mischung aus T-SQL und Python in modernen Datenworkflows bietet einen leistungsstarken und flexiblen Ansatz, der die Stärken beider Sprachen vereint. SQL bleibt die effizienteste und lesbarste Methode zum Abfragen, Filtern und Verknüpfen strukturierter Daten, während Python bei der Datentransformation, statistischen Analyse, maschinellem Lernen und Visualisierung exceliert. Durch die Kombination von T-SQL und Python können Datentechniker das Beste aus beiden Welten nutzen, sodass sie robuste Datenpipelinen erstellen können, die effizient, verwaltet und in der Lage sind, komplexe Datenverarbeitungsaufgaben zu verarbeiten.

In Microsoft Fabric Python-Notizbüchern haben wir ein neues Feature namens T-SQL magic command eingeführt. Mit diesem Feature können Sie T-SQL-Code direkt in Python-Notizbüchern mit vollständiger Syntaxmarkierung und Codeabschluss ausführen. Dies bedeutet, dass Sie T-SQL-Code in einem Python-Notizbuch schreiben können und wie eine T-SQL-Zelle ausgeführt werden. Dieses Feature ist nützlich für Datentechniker, die die Leistungsfähigkeit von T-SQL nutzen möchten, während sie weiterhin die Flexibilität von Python-Notizbüchern nutzen möchten.

In diesem Artikel untersuchen wir den T-SQL-Zauberbefehl in Microsoft Fabric-Notizbüchern. Wir behandeln, wie Sie diesen Befehl aktivieren, angeben, welches Lager verwendet werden soll, und wie die Ergebnisse von T-SQL-Abfragen an Python-Variablen gebunden werden.

Dieses Feature ist für Fabric Python-Notizbücher verfügbar. Sie müssen die Sprache im Notizbuch auf Python festlegen.

Von Bedeutung

Dieses Feature befindet sich in der Vorschauphase.

Verwenden des T-SQL-Zauberbefehls zum Abfragen von Fabric Data Warehouse

Um den T-SQL-Zauberbefehl in Ihrem Fabric-Notizbuch zu aktivieren, müssen Sie den %%tsql magischen Befehl am Anfang Ihrer Zelle festlegen. Dieser Befehl gibt den Code in dieser Zelle an, der als T-SQL-Code behandelt werden soll.

In diesem Beispiel verwenden wir den T-SQL-Zauberbefehl, um ein Fabric Data Warehouse abzufragen. Der Befehl verwendet die folgenden Parameter:

  • Der -artifact Parameter gibt den Namen des zu verwendenden Data Warehouse an. Der T-SQL-Code in der Zelle wird für das angegebene Data Warehouse ausgeführt.
  • Der -type Parameter gibt den Typ des Artefakts an, bei dem es sich in diesem Fall um ein Data Warehouse handelt.
  • Der -bind Parameter gibt den Namen der Variablen an, an die die Ergebnisse der T-SQL-Abfrage gebunden werden sollen. Im folgenden Beispiel werden die Ergebnisse der Abfrage in einer Python-Variablen gespeichert, die namens df1 ist. Wenn Sie eine Transformation auf die df1-Variable anwenden müssen, können Sie dazu Python-Code in der nächsten Zelle verwenden. Der -bind Parameter ist optional, es wird jedoch empfohlen, die Ergebnisse der T-SQL-Abfrage an eine Python-Variable zu binden. Mit diesem Parameter können Sie die Ergebnisse mithilfe von Python-Code ganz einfach bearbeiten und analysieren.
  • Der -workspace Parameter ist optional und wird verwendet, wenn sich das Lager in einem anderen Arbeitsbereich befindet. Ohne diesen Parameter verwendet das Notizbuch den aktuellen Arbeitsbereich.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
			[ZipCodeBKey],
			[County],
			[City],
			[State],
			[Country],
			[ZipCode]
FROM [dw1].[dbo].[Geography]

Screenshot mit tsql-Magic-Befehl mit Data Warehouse.

Wenn sowohl die -artifact- als auch die -type-Parameter übersprungen werden, verwendet das Notizbuch den Standarddatenspeicher des aktuellen Notizbuchs.

Verwenden des T-SQL-Zauberbefehls zum Abfragen der SQL-Datenbank

Sie können auch den T-SQL-Zauberbefehl verwenden, um eine Fabric SQL-Datenbank abzufragen. Die Syntax ähnelt dem Abfragen eines Data Warehouses, aber der Artefaktparameter muss auf SQLDatabase. festgelegt werden. Der -bind Parameter gibt den Namen der Variablen an, an die die Ergebnisse der T-SQL-Abfrage gebunden werden sollen. Im folgenden Beispiel wird das Ergebnis der Abfrage in einer Python-Variablen namens df2 gespeichert.

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

Screenshot mit tsql magischem Befehl und SQL-Datenbank.

Verwenden des T-SQL-Zauberbefehls zum Abfragen des SQL-Endpunkts in Lakehouse

Sie können auch den T-SQL-Zauberbefehl verwenden, um einen Fabric SQL-Endpunkt abzufragen. Die Syntax ähnelt dem Abfragen eines Data Warehouses, aber der Artefaktparameter muss auf Lakehouse. festgelegt werden.

Verwendung des T-SQL-Magiebefehls als Zeilenmagie

Neben dem Ausführen von T-SQL in einer vollständigen Codezelle mit %%tsql, können Sie T-SQL auch in einer einzigen Zeile mit %tsql als Linienzauber ausführen. Mit dem folgenden Zeilenbefehl können Schnelle Abfragen ausgeführt werden, ohne eine vollständige Codezelle erstellen zu müssen.

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

Screenshot mit tsql-Magic-Kommando und Zeilen-Magie.

Verweisen auf Python-Variablen in T-SQL

Sie können auch auf Python-Variablen im T-SQL-Code verweisen. Verwenden Sie dazu das {} Symbol gefolgt vom Namen der Python-Variablen. Wenn Sie beispielsweise eine Python-Variable namens counthaben, können Sie wie folgt in Ihrem T-SQL-Code darauf verweisen:

count = 10

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

Screenshot zeigt tsql-Magiebefehl mit einer referenzierten Python-Variable.

Verwenden Sie den %tsql? Befehl, um die vollständige Syntax anzuzeigen. Dieser Befehl zeigt die Hilfeinformationen für den T-SQL-Zauberbefehl an, einschließlich der verfügbaren Parameter und deren Beschreibungen.

Hinweis

Sie können die vollständigen DML- und DDL-Befehle für das Data Warehouse oder die SQL-Datenbank ausführen, jedoch nur eine schreibgeschützte Abfrage gegen den SQL-Endpunkt des Lakehouse durchführen.

Weitere Informationen zu Fabric-Notebooks finden Sie in den folgenden Artikeln.