Bagikan melalui


Menjalankan kode T-SQL di notebook Fabric Python

Campuran T-SQL dan Python dalam alur kerja data modern menawarkan pendekatan yang kuat dan fleksibel yang memadukan kekuatan kedua bahasa. SQL tetap menjadi cara yang paling efisien dan dapat dibaca untuk mengkueri, memfilter, dan menggabungkan data terstruktur, sementara Python unggul dalam transformasi data, analisis statistik, pembelajaran mesin, dan visualisasi. Dengan menggabungkan T-SQL dan Python, teknisi data dapat menggunakan yang terbaik dari kedua dunia, memungkinkan mereka untuk membangun alur yang kuat yang efisien, dapat dipertahankan, dan mampu menangani tugas pemrosesan data yang kompleks.

Di notebook Microsoft Fabric Python, kami memperkenalkan fitur baru yang disebut perintah ajaib T-SQL. Fitur ini memungkinkan Anda menjalankan kode T-SQL langsung di notebook Python dengan penyorotan sintaks penuh dan penyelesaian kode. Ini berarti Anda dapat menulis kode T-SQL di notebook Python, dan itu akan dijalankan seolah-olah itu adalah sel T-SQL. Fitur ini berguna untuk teknisi data yang ingin menggunakan kekuatan T-SQL sambil tetap menggunakan fleksibilitas notebook Python.

Dalam artikel ini, kami menjelajahi perintah ajaib T-SQL di notebook Microsoft Fabric. Kami membahas cara mengaktifkan perintah ini, menentukan gudang mana yang akan digunakan, dan cara mengikat hasil kueri T-SQL ke variabel Python.

Fitur ini tersedia untuk notebook Fabric Python. Anda perlu mengatur bahasa ke Python di buku catatan, dan jenis sel ke T-SQL.

Important

Fitur ini sedang dalam tahap pratinjau.

Menggunakan perintah ajaib T-SQL untuk mengkueri gudang data Fabric

Untuk mengaktifkan perintah ajaib T-SQL di notebook Fabric Anda, Anda perlu mengatur %%tsql perintah ajaib di awal sel Anda. Perintah ini menunjukkan kode dalam sel tersebut harus diperlakukan sebagai kode T-SQL.

Dalam contoh ini, kita menggunakan perintah ajaib T-SQL untuk mengkueri Gudang Data Fabric. Perintah mengambil parameter berikut:

  • Parameter -artifact menentukan nama gudang data yang akan digunakan. Kode T-SQL dalam sel dijalankan terhadap gudang data yang ditentukan di Fabric.
  • Parameter -type menentukan jenis item Fabric. Untuk Fabric Data Warehouse, gunakan Warehouse.
  • Parameter -bind menentukan nama variabel untuk mengikat hasil kueri T-SQL. Dalam contoh berikut, hasil kueri disimpan dalam variabel Python yang disebut df1. Jika Anda perlu menerapkan transformasi apa pun ke variabel df1, Anda dapat melakukannya menggunakan kode Python di sel berikutnya. Parameter -bind bersifat opsional, tetapi disarankan untuk mengikat hasil kueri T-SQL ke variabel Python. Parameter ini memungkinkan Anda untuk dengan mudah memanipulasi dan menganalisis hasilnya menggunakan kode Python.
  • Parameter -workspace bersifat opsional dan digunakan jika gudang terletak di ruang kerja yang berbeda. Tanpa parameter ini, notebook menggunakan ruang kerja saat ini.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
            [ZipCodeBKey],
            [County],
            [City],
            [State],
            [Country],
            [ZipCode]
FROM [dw1].[dbo].[Geography]

Cuplikan layar memperlihatkan perintah ajaib tsql dengan gudang data.

Jika kedua parameter -artifact dan -type dilewati, notebook menggunakan item gudang default di notebook saat ini.

Menggunakan perintah ajaib T-SQL untuk mengkueri database SQL

Anda juga dapat menggunakan perintah ajaib T-SQL untuk mengkueri database SQL di Fabric. Sintaksnya mirip dengan mengkueri gudang data, tetapi -type parameter harus diatur ke SQLDatabase. Parameter -bind menentukan nama variabel untuk mengikat hasil kueri T-SQL.

Dalam contoh berikut, hasil kueri disimpan dalam variabel Python yang disebut df2.

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

Cuplikan layar memperlihatkan perintah ajaib tsql dengan database sql.

Menggunakan perintah ajaib T-SQL untuk mengkueri titik akhir analitik SQL lakehouse

Anda juga dapat menggunakan perintah ajaib T-SQL untuk mengkueri titik akhir analitik SQL. Sintaksnya mirip dengan mengkueri gudang data, tetapi -type parameter harus diatur ke Lakehouse. Parameter -bind menentukan nama variabel untuk mengikat hasil kueri T-SQL.

Dalam contoh berikut, hasil kueri disimpan dalam variabel Python yang disebut df3.

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

Menggunakan perintah ajaib T-SQL sebagai sihir baris

Alih-alih menjalankan T-SQL di sel kode lengkap dengan %%tsql, Anda dapat menjalankan T-SQL dalam satu baris dengan %tsql sebagai magic line. Namun, Anda harus terlebih dahulu membuat koneksi sesi.

Important

Sebelum menggunakan perintah magic baris %tsql, Anda harus menjalankan perintah magic sel %%tsql dengan parameter -session untuk menginisialisasi konteks magic SQL. Berjalan %tsql tanpa pengaturan ini akan menghasilkan SQLMagicContextInitializationException.

Prasyarat untuk sihir garis

  1. Menginisialisasi sesi: Dalam sel yang menggunakan %%tsql perintah ajaib, sertakan parameter -session untuk membuat konteks koneksi. Contohnya:

    %%tsql -artifact ContosoDWH -type Warehouse -session
    SELECT TOP(10) * FROM [ContosoDWH].[dbo].[Geography];
    
  2. Gunakan sihir garis: Setelah menginisialisasi sesi, Anda dapat menggunakan %tsql di sel berikut. Sihir garis akan menggunakan koneksi yang dibuat di langkah 1 tanpa mengharuskan Anda menentukan -artifact dan -type lagi. Contohnya:

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

Cuplikan layar memperlihatkan perintah ajaib tsql dengan sihir garis.

Referensi variabel Python dalam T-SQL

Anda juga dapat mereferensikan variabel Python dalam kode T-SQL. Untuk melakukannya, gunakan {} simbol diikuti dengan nama variabel Python. Misalnya, jika Anda memiliki variabel Python yang disebut count, Anda dapat mereferensikannya sebagai berikut dalam kode T-SQL Anda:

count = 10

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

Cuplikan layar memperlihatkan perintah ajaib tsql dengan variabel python referensi.

Untuk melihat sintaks lengkapnya, gunakan %tsql? perintah . Perintah ini menampilkan informasi bantuan untuk perintah magic T-SQL, termasuk parameter yang tersedia dan deskripsinya.

Note

Anda dapat menjalankan perintah DML dan DDL penuh terhadap gudang data atau database SQL, tetapi hanya melakukan kueri hanya-baca terhadap titik akhir SQL lakehouse.

Untuk informasi selengkapnya tentang notebook Fabric, lihat artikel berikut ini.