Menginstal paket Python dengan sqlmlutils

Berlaku untuk:Azure SQL Managed Instance SQL Server 2019 (15.x)

Artikel ini menjelaskan cara menggunakan fungsi dalam paket sqlmlutils untuk menginstal paket Python baru ke instans Layanan Pembelajaran Mesin di SQL Server dan di Kluster Big Data. Paket yang Anda instal dapat digunakan dalam skrip Python yang berjalan dalam database menggunakan pernyataan T-SQL sp_execute_external_script .

Artikel ini menjelaskan cara menggunakan fungsi dalam paket sqlmlutils untuk menginstal paket Python baru ke instans Azure SQL Managed Instance Machine Learning Services. Paket yang Anda instal dapat digunakan dalam skrip Python yang berjalan dalam database menggunakan pernyataan T-SQL sp_execute_external_script .

Catatan

Anda tidak dapat memperbarui atau menghapus paket yang telah diinstal sebelumnya pada instans SQL Managed Instance Machine Learning Services. Untuk melihat daftar paket yang saat ini diinstal, lihat Mencantumkan semua paket Python yang diinstal.

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

Catatan

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

Prasyarat

  • Instal Azure Data Studio di komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server. Anda bisa menggunakan manajemen database atau alat kueri lainnya, tetapi artikel ini mengasumsikan Azure Data Studio.

  • Instal kernel Python di Azure Data Studio. Anda juga dapat menginstal dan menggunakan Python dari baris perintah, dan Anda dapat menggunakan lingkungan pengembangan Python alternatif seperti Visual Studio Code dengan Ekstensi Python.

    Versi Python pada komputer klien harus cocok dengan versi Python di server, dan paket yang Anda instal harus sesuai 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)
    '
    

Pertimbangan lainnya

  • Pustaka paket Python terletak di folder File Program instans SQL Server Anda dan, 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 dalam beberapa instans atau database SQL, atau untuk pengguna yang berbeda, Anda harus menginstal paket untuk masing-masing instans. Pengecualiannya adalah bahwa jika paket diinstal oleh anggota dbo, paket bersifat publik dan dibagikan dengan semua pengguna. Jika pengguna menginstal versi paket publik yang lebih baru, paket publik tidak terpengaruh tetapi pengguna tersebut akan memiliki akses ke versi yang lebih baru.

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

    • Kami menyarankan agar Anda menggunakan Python dalam database untuk tugas yang mendapat manfaat dari integrasi ketat dengan mesin database, seperti pembelajaran mesin, bukan tugas yang hanya mengkueri database.

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

    • Pada lingkungan SQL Server yang diperkeras, Anda mungkin ingin menghindari hal 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
    • Tensorflow paket Python tidak dapat diinstal menggunakan sqlmlutils. Untuk informasi selengkapnya dan solusinya, lihat Masalah umum di SQL Server Machine Learning 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.

Di Azure Data Studio

Jika Anda akan menggunakan sqlmlutils di Azure Data Studio, Anda dapat menginstalnya menggunakan fitur Kelola Paket di buku catatan kernel Python.

  1. Di buku catatan kernel Python di Azure Data Studio, klik Kelola Paket.
  2. Klik Tambahkan baru.
  3. Masukkan "sqlmlutils" di bidang Cari paket Pip dan klik Cari.
  4. Pilih Versi Paket yang ingin Anda instal (versi terbaru disarankan).
  5. Klik Instal lalu Tutup.

Dari baris perintah Python

Jika Anda akan menggunakan sqlmlutils dari prompt perintah Python atau IDE, Anda dapat menginstal sqlmlutils dengan perintah pip sederhana:

pip install sqlmlutils

Anda juga dapat menginstal sqlmlutils dari file zip:

  1. Pastikan Anda telah menginstal pip . Lihat penginstalan pip untuk informasi selengkapnya.
  2. Unduh file zip sqlmlutils terbaru dari https://github.com/microsoft/sqlmlutils/tree/master/R/dist ke komputer klien. Jangan buka zip file.
  3. Buka Prompt Perintah dan jalankan perintah berikut untuk menginstal paket sqlmlutils . Ganti jalur lengkap ke file zip sqlmlutils 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 instans SQL. Anda kemudian dapat menggunakan paket tersebut dalam kode Python Anda yang berjalan di instans SQL. sqlmlutils menggunakan CREATE EXTERNAL LIBRARY untuk menginstal paket dan setiap dependensinya.

Dalam contoh berikut, Anda akan menambahkan paket alat teks ke SQL Server.

Menambahkan 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 dependensi apa pun melalui Internet, lalu menginstal paket ke instans SQL Server dari 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.

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

Tambahkan paket offline

Jika komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server tidak memiliki koneksi Internet, Anda dapat menggunakan pip di komputer dengan akses Internet untuk mengunduh paket dan paket dependen apa pun ke folder lokal. Anda kemudian menyalin folder ke komputer klien tempat Anda dapat menginstal paket secara offline.

Pada komputer dengan akses Internet

  1. Buka Prompt Perintah dan jalankan perintah berikut untuk membuat folder lokal yang berisi paket alat teks . 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 setiap paket (file WHL) yang Anda temukan di folder lokal yang dibuat pip . Tidak masalah dalam urutan apa Anda menginstal paket.

Dalam contoh ini, alat teks tidak memiliki dependensi, jadi hanya ada satu file dari text-tools folder untuk Anda instal. Sebaliknya, paket seperti scikit-plot memiliki 11 dependensi, sehingga Anda akan menemukan 12 file dalam folder (paket scikit-plot dan 11 paket dependen), dan Anda akan menginstal masing-masing.

Jalankan skrip Python berikut. Ganti jalur file dan nama paket yang sebenarnya, dan informasi koneksi database SQL Server Anda sendiri (jika Anda menggunakan Autentikasi Windows, Anda tidak memerlukan uid parameter dan pwd ). sqlmlutils.SQLPackageManager Ulangi pernyataan untuk setiap file paket di folder.

Jalankan skrip Python berikut. Ganti jalur file aktual dan nama paket, dan informasi koneksi database SQL Server Anda sendiri. sqlmlutils.SQLPackageManager Ulangi pernyataan untuk setiap file paket di folder.

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")

Menggunakan 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

Jika Anda ingin menghapus paket alat teks , gunakan perintah Python berikut pada komputer klien, menggunakan variabel koneksi yang sama dengan yang Anda tentukan sebelumnya.

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

Fungsi sqlmlutils lainnya

Paket sqlmlutils berisi sejumlah fungsi untuk mengelola paket Python, dan untuk membuat, mengelola, dan menjalankan prosedur dan kueri yang disimpan dalam SQL Server. Untuk detailnya, lihat file Sqlmlutils Python README.

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

import sqlmlutils
help(SQLPackageManager.install)

Langkah berikutnya