Memasang paket Python dengan sqlmlutils

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru Azure SQL Managed Instance

Artikel ini menjelaskan cara menggunakan fungsi dalam paket sqlmlutils untuk menginstal paket Python baru ke instance Pembelajaran Mesin Services di SQL Server. Anda dapat menggunakan paket yang Anda instal di skrip Python yang berjalan di dalam database melalui pernyataan T-SQL sp_execute_external_script.

Artikel ini menjelaskan cara menggunakan fungsi dalam paket sqlmlutils untuk menginstal paket Python baru pada instans Azure SQL Managed Instance Pembelajaran Mesin Services. Anda dapat menggunakan paket yang Anda instal di skrip Python yang berjalan di dalam database melalui pernyataan T-SQL sp_execute_external_script.

Catatan

Anda tidak dapat memperbarui atau menghapus paket yang sudah terpasang di instance SQL Managed Instance Pembelajaran Mesin Services. Untuk melihat daftar paket yang saat ini diinstal, lihat Mencantumkan semua paket Python yang terinstal.

Untuk informasi selengkapnya tentang lokasi paket dan jalur penginstalan, lihat Mendapatkan informasi paket Python.

Catatan

Gunakan paket sqlmlutils yang dijelaskan dalam artikel ini untuk menambahkan paket Python ke SQL Server 2019 atau versi yang lebih baru. Untuk SQL Server 2017 dan yang lebih lama, lihat Menginstal paket dengan alat Python.

Prasyarat

  • Python terpasang di komputer klien yang Anda gunakan untuk menghubungkan ke SQL Server. Anda dapat menjalankan skrip dari baris perintah, atau menggunakan lingkungan pengembangan Python seperti Visual Studio Code dengan ekstensi Python.

    Versi Python di komputer klien harus sesuai dengan versi Python di server, dan paket yang Anda instal harus kompatibel dengan versi Python yang Anda miliki. Untuk informasi tentang versi Python mana yang disertakan dengan setiap versi SQL Server, lihat versi Python dan R.

    Untuk memverifikasi versi Python pada instans SQL Server tertentu, gunakan perintah T-SQL berikut.

    EXECUTE sp_execute_external_script
      @language = N'Python',
      @script = N'
    import sys
    print(sys.version)
    '
    
  • Ekstensi MSSQL untuk Visual Studio Code yang terpasang di komputer klien yang Anda gunakan untuk menghubungkan ke SQL Server. Anda bisa menggunakan manajemen database atau alat kueri lainnya.

Pertimbangan lain

  • Perpustakaan paket Python berada di folder Program Files dari instance SQL Server Anda. Secara default, menginstal di folder ini memerlukan izin administrator. Untuk informasi selengkapnya, lihat Lokasi pustaka paket.

  • Penginstalan paket khusus untuk instans SQL, database, dan pengguna yang Anda tentukan dalam informasi koneksi yang Anda berikan ke sqlmlutils. Untuk menggunakan paket di beberapa instance SQL atau database, atau untuk pengguna yang berbeda, instal paket untuk masing-masing. Pengecualian adalah paket yang diinstal dalam lingkup publik , yang dibagikan kepada semua pengguna. sqlmlutils memilih cakupan publik secara bawaan hanya ketika Anda terhubung sebagai anggota peran server sysadmin, dan cakupan privat jika bukan. Untuk menginstal ke cakupan publik sebagai principal lain, teruskan scope=sqlmlutils.Scope.public_scope() ke install, yang memerlukan peran database db_owner. Jika pengguna menginstal versi terbaru dari paket publik, paket publik tersebut tidak terpengaruh, tetapi pengguna tersebut memiliki akses ke versi yang lebih baru.

  • Sebelum menambahkan paket, pertimbangkan apakah paket cocok untuk lingkungan SQL Server.

    • Gunakan Python dalam database untuk tugas-tugas yang mendapat manfaat dari integrasi erat dengan mesin database, seperti machine learning, daripada tugas yang hanya melakukan query ke database.

    • Jika Anda menambahkan paket yang memberikan tekanan komputasi terlalu besar pada server, performa akan menurun.

    • Pada lingkungan SQL Server yang diperkuat, hindari jenis paket berikut:

      • Paket yang memerlukan akses jaringan
      • Paket yang memerlukan akses sistem file yang ditingkatkan
      • Paket yang digunakan untuk pengembangan web atau tugas lain yang tidak menguntungkan dengan berjalan di dalam SQL Server
    • Anda tidak bisa menginstal tensorflow paket Python dengan sqlmlutils. Untuk informasi selengkapnya dan solusi sementara, lihat Masalah yang diketahui dalam SQL Server Pembelajaran Mesin Services.

Menginstal sqlmlutils di komputer klien

Untuk menggunakan sqlmlutils, Anda harus menginstalnya terlebih dahulu di komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server.

Menginstal sqlmlutils secara online

Jika komputer klien memiliki akses internet, instal sqlmlutils menggunakan pip:

pip install sqlmlutils

Menginstal sqlmlutils secara offline

Jika komputer klien tidak memiliki akses internet, instal sqlmlutils dari file yang diunduh:

  1. Pastikan Anda sudah menginstal pip . Untuk informasi lebih lanjut, lihat instalasi pip.

  2. Unduh file sqlmlutils terbaru dari halaman rilis sqlmlutils ke komputer klien. Jangan buka zip file.

  3. Buka Command Prompt dan jalankan perintah berikut untuk menginstal paket sqlmlutils . Ganti dengan jalur lengkap file yang Anda unduh. Contoh ini mengasumsikan file yang diunduh adalah c:\temp\sqlmlutils-1.0.0.zip.

    pip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
    

Menambahkan paket Python di SQL Server

Dengan menggunakan sqlmlutils, Anda dapat menambahkan paket Python ke instance SQL dan kemudian menggunakannya dalam kode Python yang berjalan di instance tersebut. SQLMliutils digunakan CREATE EXTERNAL LIBRARY untuk menginstal paket dan setiap dependensinya.

Contoh berikut menambahkan paket text-tools ke SQL Server.

Tambahkan paket secara online

Jika komputer klien yang Anda gunakan untuk terhubung ke SQL Server memiliki akses internet, Anda dapat menggunakan sqlmlutils untuk menemukan paket alat teks dan ketergantungan apa pun secara online, lalu menginstal paket tersebut ke instance SQL Server secara jarak jauh.

  1. Di komputer klien, buka Python atau lingkungan Python.

  2. Gunakan perintah berikut untuk menginstal paket alat teks. Ganti informasi koneksi database SQL Server Anda sendiri (jika Anda menggunakan Autentikasi Windows, Anda tidak memerlukan uid parameter dan pwd ).

  1. Di komputer klien, buka Python atau lingkungan Python.

  2. Gunakan perintah berikut untuk menginstal paket alat teks. Ganti informasi koneksi database SQL Server Anda sendiri. Juga berikan nama driver ODBC yang terpasang di komputer klien, misalnya driver="ODBC Driver 18 for SQL Server", karena nama driver yang digunakan sqlmlutils secara default hanya berlaku untuk Windows.

import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="server", database="database", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text-tools")

Tambahkan paket secara offline

Jika komputer klien yang Anda gunakan untuk terhubung ke SQL Server tidak memiliki koneksi internet, gunakan pip pada komputer yang memiliki untuk mengunduh paket ke folder lokal. Anda kemudian menyalin folder ke komputer klien dan menginstal paket secara offline.

Catatan

Prosedur ini bekerja untuk paket yang tidak memiliki ketergantungan. SQLPackageManager.install() menyelesaikan ketergantungan dari PyPI bahkan ketika Anda mengirimkan file lokal .whl , jadi untuk menambahkan paket yang memiliki ketergantungan, gunakan komputer klien dengan akses internet dan ikuti Tambahkan paket secara online.

Di komputer dengan akses internet

  1. Buka Command Prompt dan jalankan perintah berikut untuk membuat folder lokal yang berisi paket text-tools. Contoh ini membuat folder c:\temp\text-tools.

    pip download text-tools -d c:\temp\text-tools
    
  2. text-tools Salin folder ke komputer klien. Contoh berikut mengasumsikan Anda menyalinnya ke c:\temp\packages\text-tools.

Pada komputer klien

Gunakan sqlmlutils untuk menginstal paket (.whl file) yang diunduh oleh pip ke folder lokal.

Dalam contoh ini, text-tools tidak memiliki ketergantungan, sehingga folder tersebut text-tools menampung satu file.

Jalankan skrip Python berikut. Ganti jalur file aktual dan nama paket, dan informasi koneksi database SQL Server Anda sendiri (jika Anda menggunakan Autentikasi Windows, Anda tidak memerlukan uid parameter dan pwd ).

Jalankan skrip Python berikut. Ganti jalur file aktual dan nama paket, dan informasi koneksi database SQL Server Anda sendiri. Juga berikan nama driver ODBC yang terpasang di komputer klien, misalnya driver="ODBC Driver 18 for SQL Server", karena nama driver yang digunakan sqlmlutils secara default hanya berlaku untuk Windows.

import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="yourserver", database="yourdatabase", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text_tools-1.0.0-py3-none-any.whl")

Gunakan paket

Anda sekarang dapat menggunakan paket dalam skrip Python di SQL Server. Contohnya:

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
from text_tools.finders import find_best_string
corpus = "Lorem Ipsum text"
query = "Ipsum"
first_match = find_best_string(query, corpus)
print(first_match)
  '

Menghapus paket dari SQL Server

Untuk menghapus paket text-tools, jalankan perintah Python berikut pada komputer klien, menggunakan variabel koneksi yang sama yang Anda definisikan sebelumnya.

sqlmlutils.SQLPackageManager(connection).uninstall("text-tools")

Fungsi sqlmlutils lainnya

Paket sqlmlutils berisi beberapa fungsi untuk mengelola paket Python, serta untuk membuat, mengelola, dan menjalankan prosedur tersimpan serta kueri di SQL Server. Untuk informasi lebih lanjut, lihat file sqlmlutils Python README.

Untuk informasi tentang fungsi sqlmlutils apa pun, gunakan fungsi bantuan Python. Contohnya:

import sqlmlutils
help(sqlmlutils.SQLPackageManager.install)