Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2019 (15.x) och senare versioner
Azure SQL Managed Instance
Den här artikeln beskriver hur du använder funktioner i sqlmlutils-paketet för att installera nya Python-paket till en instans av Machine Learning Services på SQL Server och i stordatakluster. De paket som du installerar kan användas i Python-skript som körs i databasen med hjälp av sp_execute_external_script T-SQL-instruktion.
Den här artikeln beskriver hur du använder funktioner i paketet sqlmlutils för att installera nya Python-paket till en instans av Azure SQL Managed Instance Machine Learning Services. De paket som du installerar kan användas i Python-skript som körs i databasen med hjälp av sp_execute_external_script T-SQL-instruktion.
Anmärkning
Du kan inte uppdatera eller avinstallera paket som har förinstallerats på en instans av SQL Managed Instance Machine Learning Services. En lista över paket som är installerade finns i Lista alla installerade Python-paket.
Mer information om paketplats och installationssökvägar finns i Hämta Python-paketinformation.
Anmärkning
Sqlmlutils-paketet som beskrivs i den här artikeln används för att lägga till Python-paket i SQL Server 2019 eller senare. Information om SQL Server 2017 och tidigare finns i Installera paket med Python-verktyg.
Förutsättningar
- Du måste ha SQL Server Machine Learning Services installerat med python-språkalternativet.
Installera Azure Data Studio på den klientdator som du använder för att ansluta till SQL Server. Du kan använda andra databashanterings- eller frågeverktyg, men den här artikeln förutsätter Azure Data Studio.
Installera Python-kerneln i Azure Data Studio. Du kan också installera och använda Python från kommandoraden, och du kan använda en alternativ Python-utvecklingsmiljö, till exempel Visual Studio Code med Python-tillägget.
Versionen av Python på klientdatorn måste matcha versionen av Python på servern, och paket som du installerar måste vara kompatibla med den version av Python som du har. Information om vilken version av Python som ingår i varje SQL Server-version finns i Python- och R-versioner.
Om du vill verifiera versionen av Python på en viss SQL Server-instans använder du följande T-SQL-kommando.
EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) '
Andra överväganden
Python-paketbiblioteket finns i mappen Program Files i SQL Server-instansen och som standard kräver installationen i den här mappen administratörsbehörighet. Mer information finns i Plats för paketbibliotek.
Paketinstallationen är specifik för sql-instansen, databasen och användaren som du anger i anslutningsinformationen som du anger till sqlmlutils. Om du vill använda paketet i flera SQL-instanser eller databaser, eller för olika användare, måste du installera paketet för var och en. Undantaget är att om paketet installeras av en medlem
dboi är paketet offentligt och delas med alla användare. Om en användare installerar en nyare version av ett offentligt paket påverkas inte det offentliga paketet, men den användaren har åtkomst till den nyare versionen.Innan du lägger till ett paket bör du överväga om paketet passar bra för SQL Server-miljön.
Vi rekommenderar att du använder Python i databasen för uppgifter som drar nytta av nära integrering med databasmotorn, till exempel maskininlärning, i stället för uppgifter som bara kör frågor mot databasen.
Om du lägger till paket som sätter för mycket beräkningstryck på servern blir prestandan sämre.
I en härdad SQL Server-miljö kanske du vill undvika följande:
- Paket som kräver nätverksåtkomst
- Paket som kräver förhöjd filsystemåtkomst
- Paket som används för webbutveckling eller andra uppgifter som inte drar nytta av att köras i SQL Server
Det går inte att installera Python-paketets tensorflow med sqlmlutils. Mer information och en lösning finns i Kända problem i SQL Server Machine Learning Services.
Installera sqlmlutils på klientdatorn
Om du vill använda sqlmlutils måste du först installera det på den klientdator som du använder för att ansluta till SQL Server.
I Azure Data Studio
Om du ska använda sqlmlutils i Azure Data Studio kan du installera det med hjälp av funktionen Hantera paket i en Python-kernelanteckningsbok.
- I ett Python-kärnnotebook i Azure Data Studio klickar du på Hantera paket.
- Klicka på Lägg till ny.
- Ange "sqlmlutils" i fältet Sök Pip-paket och klicka på Sök.
- Välj den paketversion som du vill installera (den senaste versionen rekommenderas).
- Klicka på Installera och sedan på Stäng.
Från Python-kommandoraden
Om du ska använda sqlmlutils från en Python-kommandotolk eller IDE kan du installera sqlmlutils med ett enkelt pip-kommando :
pip install sqlmlutils
Du kan också installera sqlmlutils från en zip-fil:
- Kontrollera att du har pip installerat. Mer information finns i pip-installationen .
- Ladda ned den senaste zip-filen sqlmlutils från https://github.com/microsoft/sqlmlutils/tree/master/R/dist till klientdatorn. Packa inte upp filen.
- Öppna en kommandotolk och kör följande kommandon för att installera paketet sqlmlutils . Ersätt den fullständiga sökvägen till zip-filen sqlmlutils som du laddade ned . I det här exemplet förutsätts att den nedladdade filen är
c:\temp\sqlmlutils-1.0.0.zip.pip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
Lägga till ett Python-paket på SQL Server
Med sqlmlutils kan du lägga till Python-paket i en SQL-instans. Du kan sedan använda dessa paket i din Python-kod som körs i SQL-instansen. sqlmlutils använder CREATE EXTERNAL LIBRARY för att installera paketet och vart och ett av dess beroenden.
I följande exempel lägger du till textverktygspaketet i SQL Server.
Lägg till paketet online
Om klientdatorn som du använder för att ansluta till SQL Server har Internetåtkomst kan du använda sqlmlutils för att hitta textverktygspaketet och eventuella beroenden via Internet och sedan fjärrinstallera paketet till en SQL Server-instans .
Öppna Python eller en Python-miljö på klientdatorn.
Använd följande kommandon för att installera textverktygspaketet . Ersätt din egen anslutningsinformation för SQL Server-databasen (om du använder Windows-autentisering behöver du inte parametrarna
uidochpwd).
Öppna Python eller en Python-miljö på klientdatorn.
Använd följande kommandon för att installera textverktygspaketet . Ersätt din egen anslutningsinformation för SQL Server-databasen.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="server", database="database", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text-tools")
Lägg till paketet offline
Om klientdatorn som du använder för att ansluta till SQL Server inte har någon Internetanslutning kan du använda pip på en dator med Internetåtkomst för att ladda ned paketet och eventuella beroende paket till en lokal mapp. Sedan kopierar du mappen till klientdatorn där du kan installera paketet offline.
På en dator med Internetåtkomst
Öppna en kommandotolk och kör följande kommando för att skapa en lokal mapp som innehåller textverktygspaketet . I det här exemplet skapas mappen
c:\temp\text-tools.pip download text-tools -d c:\temp\text-toolstext-toolsKopiera mappen till klientdatorn. I följande exempel förutsätter vi att du kopierade det tillc:\temp\packages\text-tools.
På klientdatorn
Använd sqlmlutils för att installera varje paket (WHL-fil) som du hittar i den lokala mappen som pip skapade. Det spelar ingen roll i vilken ordning du installerar paketen.
I det här exemplet har textverktyg inga beroenden, så det finns bara en fil från mappen text-tools som du kan installera. Däremot har ett paket som scikit-plot 11 beroenden, så du hittar 12 filer i mappen ( scikit-plot-paketet och de 11 beroende paketen), och du skulle installera var och en av dem.
Kör följande Python-skript. Ersätt den faktiska filsökvägen och namnet på paketet och din egen SQL Server-databasanslutningsinformation (om du använder Windows-autentisering behöver du inte parametrarna uid och pwd ). Upprepa -instruktionen sqlmlutils.SQLPackageManager för varje paketfil i mappen.
Kör följande Python-skript. Ersätt den faktiska filsökvägen och namnet på paketet och din egen SQL Server-databasanslutningsinformation. Upprepa -instruktionen sqlmlutils.SQLPackageManager för varje paketfil i mappen.
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")
Använd paketet
Nu kan du använda paketet i ett Python-skript i SQL Server. Till exempel:
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)
'
Ta bort paketet från SQL Server
Om du vill ta bort textverktygspaketet använder du följande Python-kommando på klientdatorn med samma anslutningsvariabel som du definierade tidigare.
sqlmlutils.SQLPackageManager(connection).uninstall("text-tools")
Fler sqlmlutils-funktioner
Sqlmlutils-paketet innehåller ett antal funktioner för att hantera Python-paket och för att skapa, hantera och köra lagrade procedurer och frågor i en SQL Server. Mer information finns i SQLmlutils Python README-filen.
Information om valfri sqlmlutils-funktion finns i hjälpfunktionen Python. Till exempel:
import sqlmlutils
help(SQLPackageManager.install)
Nästa steg
Information om Python-paket som är installerade i SQL Server Machine Learning Services finns i Hämta Python-paketinformation.
Information om hur du installerar R-paket i SQL Server Machine Learning Services finns i Installera nya R-paket på SQL Server.