Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2019 (15.x) i nowsze wersje
usługi Azure SQL Managed Instance
W tym artykule opisano sposób używania funkcji w pakiecie sqlmlutils do instalowania nowych pakietów języka Python w wystąpieniu usług Machine Learning Services w programie SQL Server i w klastrach danych big data. Instalowane pakiety mogą być używane w skryptach języka Python uruchomionych w bazie danych przy użyciu instrukcji sp_execute_external_script języka T-SQL.
W tym artykule opisano sposób używania funkcji w pakiecie sqlmlutils do instalowania nowych pakietów języka Python w wystąpieniu usług Azure SQL Managed Instance Machine Learning Services. Instalowane pakiety mogą być używane w skryptach języka Python uruchomionych w bazie danych przy użyciu instrukcji sp_execute_external_script języka T-SQL.
Uwaga / Notatka
Nie można zaktualizować ani odinstalować pakietów, które zostały wstępnie zainstalowane w wystąpieniu usług SQL Managed Instance Machine Learning Services. Aby wyświetlić listę aktualnie zainstalowanych pakietów, zobacz Wyświetlanie listy wszystkich zainstalowanych pakietów języka Python.
Aby uzyskać więcej informacji na temat lokalizacji pakietu i ścieżek instalacji, zobacz Pobieranie informacji o pakiecie języka Python.
Uwaga / Notatka
Pakiet sqlmlutils opisany w tym artykule służy do dodawania pakietów języka Python do programu SQL Server 2019 lub nowszego. Aby zapoznać się z programem SQL Server 2017 i jego wcześniejszymi wersjami, zobacz Instalowanie pakietów przy użyciu narzędzi języka Python.
Wymagania wstępne
- Musisz mieć zainstalowane usługi SQL Server Machine Learning Services z opcją języka Python.
Zainstaluj program Azure Data Studio na komputerze klienckim używanym do nawiązywania połączenia z programem SQL Server. Możesz użyć innych narzędzi do zarządzania bazami danych lub zapytań, ale w tym artykule przyjmuje się użycie Azure Data Studio.
Zainstaluj jądro języka Python w narzędziu Azure Data Studio. Możesz również zainstalować język Python i używać go z poziomu wiersza polecenia. Możesz również użyć alternatywnego środowiska deweloperskiego języka Python, takiego jak Visual Studio Code z rozszerzeniem języka Python.
Wersja języka Python na komputerze klienckim musi być zgodna z wersją języka Python na serwerze, a instalowane pakiety muszą być zgodne z wersją zainstalowanego języka Python. Aby uzyskać informacje na temat wersji języka Python dołączonej do każdej wersji programu SQL Server, zobacz Wersje języka Python i języka R.
Aby sprawdzić wersję języka Python w konkretnym wystąpieniu programu SQL Server, użyj następującego polecenia języka T-SQL.
EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) '
Inne uwagi
Biblioteka pakietów języka Python znajduje się w folderze Program Files wystąpienia programu SQL Server i domyślnie instalacja w tym folderze wymaga uprawnień administratora. Aby uzyskać więcej informacji, zobacz Lokalizacja biblioteki pakietów.
Instalacja pakietu jest specyficzna dla instancji SQL, bazy danych i użytkownika, które określasz w informacji o połączeniu podanej do sqlmlutils. Aby użyć pakietu w wielu wystąpieniach LUB bazach danych SQL lub dla różnych użytkowników, należy zainstalować pakiet dla każdego z nich. Wyjątkiem jest to, że jeśli pakiet jest zainstalowany przez członka
dboprogramu , pakiet jest publiczny i jest udostępniany wszystkim użytkownikom. Jeśli użytkownik zainstaluje nowszą wersję pakietu publicznego, nie będzie to miało wpływu na pakiet publiczny, ale ten użytkownik będzie miał dostęp do nowszej wersji.Przed dodaniem pakietu zastanów się, czy pakiet jest odpowiedni dla środowiska programu SQL Server.
Zalecamy używanie języka Python w bazie danych do zadań, które korzystają z ścisłej integracji z aparatem bazy danych, takich jak uczenie maszynowe, a nie zadania, które po prostu wysyłają zapytania do bazy danych.
W przypadku dodawania pakietów, które wywierają zbyt duże obciążenie obliczeniowe na serwerze, wydajność będzie cierpieć.
W środowisku programu SQL Server ze wzmocnionym zabezpieczeniami warto uniknąć następujących czynności:
- Pakiety wymagające dostępu do sieci
- Pakiety wymagające podwyższonego poziomu dostępu do systemu plików
- Pakiety używane do tworzenia aplikacji internetowych lub innych zadań, które nie korzystają z działania wewnątrz programu SQL Server
Nie można zainstalować pakietu python tensorflow przy użyciu narzędzia sqlmlutils. Aby uzyskać więcej informacji i obejść ten problem, zobacz Znane problemy w usługach SQL Server Machine Learning Services.
Instalowanie narzędzia sqlmlutils na komputerze klienckim
Aby użyć narzędzia sqlmlutils, należy najpierw zainstalować go na komputerze klienckim używanym do nawiązywania połączenia z programem SQL Server.
W narzędziu Azure Data Studio
Jeśli będziesz używać narzędzia sqlmlutils w narzędziu Azure Data Studio, możesz zainstalować go przy użyciu funkcji Zarządzanie pakietami w notesie jądra języka Python.
- W notesie jądra języka Python w Azure Data Studio kliknij Zarządzaj pakietami.
- Kliknij pozycję Dodaj nowy.
- Wprowadź "sqlmlutils" w polu Wyszukaj pakiety Pip i kliknij przycisk Wyszukaj.
- Wybierz wersję pakietu , którą chcesz zainstalować (zalecana jest najnowsza wersja).
- Kliknij przycisk Zainstaluj , a następnie zamknij.
Z poziomu wiersza polecenia języka Python
Jeśli będziesz używać sqlmlutils z wiersza polecenia języka Python lub środowiska IDE, możesz zainstalować sqlmlutils za pomocą prostego polecenia pip.
pip install sqlmlutils
Możesz również zainstalować narzędzie sqlmlutils z pliku zip:
- Upewnij się, że zainstalowano pip. Aby uzyskać więcej informacji, zobacz instalacja pip .
- Pobierz najnowszy plik zip sqlmlutils z https://github.com/microsoft/sqlmlutils/tree/master/R/dist komputera klienckiego. Nie rozpakuj pliku.
- Otwórz okno polecenia i uruchom następujące polecenia, aby zainstalować pakiet sqlmlutils. Zastąp pełną ścieżkę do pobranego pliku zip sqlmlutils — w tym przykładzie przyjęto założenie, że pobrany plik to
c:\temp\sqlmlutils-1.0.0.zip.pip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
Dodawanie pakietu języka Python w programie SQL Server
Za pomocą narzędzia sqlmlutils można dodawać pakiety języka Python do wystąpienia SQL. Następnie możesz użyć tych pakietów w kodzie języka Python uruchomionym w wystąpieniu SQL. Narzędzie sqlmlutils używa funkcji CREATE EXTERNAL LIBRARY do zainstalowania pakietu i każdej z jego zależności.
W poniższym przykładzie dodasz pakiet narzędzi tekstowych do programu SQL Server.
Dodawanie pakietu w trybie online
Jeśli komputer kliencki używany do nawiązywania połączenia z programem SQL Server ma dostęp do Internetu, możesz użyć narzędzia sqlmlutils , aby znaleźć pakiet narzędzi tekstowych i wszelkie zależności za pośrednictwem Internetu, a następnie zainstalować pakiet w wystąpieniu programu SQL Server zdalnie.
Na komputerze klienckim otwórz środowisko Python lub Python.
Użyj następujących poleceń, aby zainstalować pakiet narzędzi tekstowych . Zastąp informacje o połączeniu z bazą danych SQL Server własnymi danymi (jeśli używasz uwierzytelniania systemu Windows, nie potrzebujesz parametrów
uidipwd).
Na komputerze klienckim otwórz środowisko Python lub Python.
Użyj następujących poleceń, aby zainstalować pakiet narzędzi tekstowych . Zastąp własne informacje o połączeniu z bazą danych programu SQL Server.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="server", database="database", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text-tools")
Dodawanie pakietu w trybie offline
Jeśli komputer kliencki, którego używasz do łączenia się z programem SQL Server, nie ma połączenia z Internetem, możesz użyć pip na komputerze z dostępem do Internetu, aby pobrać pakiet i wszystkie zależne pakiety do folderu lokalnego. Następnie skopiuj folder na komputer kliencki, na którym można zainstalować pakiet w trybie offline.
Na komputerze z dostępem do Internetu
Otwórz Command Prompt i uruchom następujące polecenie, aby utworzyć lokalny folder zawierający pakiet text-tools. W tym przykładzie zostanie utworzony folder
c:\temp\text-tools.pip download text-tools -d c:\temp\text-toolstext-toolsSkopiuj folder na komputer kliencki. W poniższym przykładzie przyjęto założenie, że skopiowano go do elementuc:\temp\packages\text-tools.
Na komputerze klienckim
Użyj sqlmlutils, aby zainstalować każdy pakiet (plik WHL), który znajduje się w folderze lokalnym utworzonym przez pip. Nie ma znaczenia, w jakiej kolejności instalujesz pakiety.
W tym przykładzie narzędzia tekstowe nie mają zależności, więc do zainstalowania jest tylko jeden plik z text-tools folderu. Z kolei pakiet, taki jak scikit-plot , ma 11 zależności, więc można znaleźć 12 plików w folderze (pakiet scikit-plot i 11 pakietów zależnych) i zainstalować każdy z nich.
Uruchom następujący skrypt języka Python. Zastąp rzeczywistą ścieżkę pliku i nazwę pakietu oraz informacje o połączeniu z bazą danych programu SQL Server (jeśli używasz uwierzytelniania systemu Windows, nie potrzebujesz parametrów uid i pwd). Powtórz instrukcję sqlmlutils.SQLPackageManager dla każdego pliku pakietu w folderze.
Uruchom następujący skrypt języka Python. Zastąp rzeczywistą ścieżkę pliku i nazwę pakietu oraz informacje o połączeniu z bazą danych programu SQL Server. Powtórz instrukcję sqlmlutils.SQLPackageManager dla każdego pliku pakietu w folderze.
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")
Korzystanie z pakietu
Teraz możesz użyć pakietu w skrypcie języka Python na serwerze SQL Server. Przykład:
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)
'
Usuwanie pakietu z programu SQL Server
Jeśli chcesz usunąć pakiet narzędzi tekstowych , użyj następującego polecenia języka Python na komputerze klienckim, używając tej samej zmiennej połączenia zdefiniowanej wcześniej.
sqlmlutils.SQLPackageManager(connection).uninstall("text-tools")
Więcej funkcji sqlmlutils
Pakiet sqlmlutils zawiera wiele funkcji do zarządzania pakietami języka Python oraz do tworzenia, zarządzania i uruchamiania procedur składowanych i zapytań w programie SQL Server. Aby uzyskać szczegółowe informacje, zobacz plik SQLmlutils Python README.
Aby uzyskać informacje o dowolnej funkcji sqlmlutils , użyj funkcji pomocy języka Python. Przykład:
import sqlmlutils
help(SQLPackageManager.install)
Dalsze kroki
Aby uzyskać informacje o pakietach języka Python zainstalowanych w usługach SQL Server Machine Learning Services, zobacz Uzyskiwanie informacji o pakiecie języka Python.
Aby uzyskać informacje na temat instalowania pakietów języka R w usługach SQL Server Machine Learning Services, zobacz Instalowanie nowych pakietów języka R w programie SQL Server.