Sdílet prostřednictvím


Instalace balíčků Pythonu pomocí sqlmlutils

Platí na: SQL Server 2019 (15.x) a novější verze Azure SQL Managed Instance

Tento článek popisuje, jak pomocí funkcí v balíčku sqlmlutils nainstalovat nové balíčky Pythonu do instance služby Machine Learning Services na SQL Serveru a v clusterech s velkými objemy dat. Balíčky, které nainstalujete, je možné použít ve skriptech Pythonu spuštěných v databázi pomocí příkazu sp_execute_external_script T-SQL.

Tento článek popisuje, jak pomocí funkcí v balíčku sqlmlutils nainstalovat nové balíčky Pythonu do instance služby Azure SQL Managed Instance Machine Learning Services. Balíčky, které nainstalujete, je možné použít ve skriptech Pythonu spuštěných v databázi pomocí příkazu sp_execute_external_script T-SQL.

Poznámka:

Balíčky, které byly předinstalované v instanci služby SQL Managed Instance Machine Learning Services, nelze aktualizovat ani odinstalovat. Pokud chcete zobrazit seznam aktuálně nainstalovaných balíčků, podívejte se na seznam všech nainstalovaných balíčků Pythonu.

Další informace o umístění balíčku a instalačních cestách najdete v tématu Získání informací o balíčku Pythonu.

Poznámka:

Balíček sqlmlutils popsaný v tomto článku slouží k přidání balíčků Pythonu do SQL Serveru 2019 nebo novějšího. Informace o SQL Serveru 2017 a starších verzích najdete v tématu Instalace balíčků pomocí nástrojů Pythonu.

Požadavky

  • Nainstalujte Azure Data Studio na klientský počítač, který používáte pro připojení k SQL Serveru. Můžete použít jiné nástroje pro správu databáze nebo dotazy, ale tento článek předpokládá Azure Data Studio.

  • Nainstalujte jádro Pythonu v nástroji Azure Data Studio. Python můžete nainstalovat a používat také z příkazového řádku a můžete použít alternativní vývojové prostředí Pythonu, jako je Visual Studio Code s rozšířením Pythonu.

    Verze Pythonu na klientském počítači se musí shodovat s verzí Pythonu na serveru a balíčky, které nainstalujete, musí odpovídat verzi Pythonu, kterou máte. Informace o tom, která verze Pythonu je součástí každé verze SQL Serveru, najdete v tématu Verze Pythonu a jazyka R.

    Pokud chcete ověřit verzi Pythonu v konkrétní instanci SQL Serveru, použijte následující příkaz T-SQL.

    EXECUTE sp_execute_external_script
      @language = N'Python',
      @script = N'
    import sys
    print(sys.version)
    '
    

Ostatní úvahy

  • Knihovna balíčků Pythonu se nachází ve složce Program Files vaší instance SQL Serveru a ve výchozím nastavení instalace v této složce vyžaduje oprávnění správce. Další informace naleznete v tématu Umístění knihovny balíčků.

  • Instalace balíčku je specifická pro instanci SQL, databázi a uživatele, které zadáte v informacích o připojení, které zadáte nástroji sqlmlutils. Pokud chcete balíček použít ve více instancích NEBO databázích SQL nebo pro různé uživatele, budete muset balíček nainstalovat pro každý z nich. Výjimkou je, že pokud je balíček nainstalován členem dbo, balíček je veřejný a je sdílen se všemi uživateli. Pokud uživatel nainstaluje novější verzi veřejného balíčku, nebude to mít vliv na veřejný balíček, ale tento uživatel bude mít přístup k novější verzi.

  • Před přidáním balíčku zvažte, jestli je balíček vhodný pro prostředí SQL Serveru.

    • Doporučujeme používat Python v databázi pro úlohy, které využívají úzkou integraci s databázovým strojem, jako je strojové učení, místo úloh, které databázi jednoduše dotazuje.

    • Pokud přidáte balíčky, které na serveru zatěžují příliš velký výpočetní tlak, bude výkon trpět.

    • V zajištěném prostředí SQL Serveru se můžete chtít vyhnout následujícímu:

      • Balíčky, které vyžadují síťový přístup
      • Balíčky, které vyžadují přístup systému souborů se zvýšenými oprávněními
      • Balíčky používané pro vývoj webu nebo jiné úlohy, které nemají prospěch spuštěním na SQL Serveru
    • Tensorflow balíčku Pythonu nelze nainstalovat pomocí sqlmlutils. Další informace a alternativní řešení najdete v tématu Známé problémy ve službě SQL Server Machine Learning Services.

Instalace nástroje sqlmlutils do klientského počítače

Pokud chcete použít sqlmlutils, musíte ho nejdřív nainstalovat do klientského počítače, který používáte pro připojení k SQL Serveru.

V Nástroji Azure Data Studio

Pokud budete používat sqlmlutils v Nástroji Azure Data Studio, můžete ho nainstalovat pomocí funkce Spravovat balíčky v poznámkovém bloku jádra Pythonu.

  1. V poznámkovém bloku jádra Pythonu v Nástroji Azure Data Studio klikněte na Spravovat balíčky.
  2. Klikněte na Přidat nový.
  3. Do pole Hledat balíčky Pip zadejte "sqlmlutils" a klikněte na Hledat.
  4. Vyberte verzi balíčku , kterou chcete nainstalovat (doporučuje se nejnovější verze).
  5. Klepněte na tlačítko Nainstalovat a potom zavřít.

Z příkazového řádku Pythonu

Pokud budete používat sqlmlutils z příkazového řádku Nebo integrovaného vývojového prostředí Pythonu, můžete sqlmlutils nainstalovat pomocí jednoduchého příkazu pip :

pip install sqlmlutils

Sqlmlutils můžete také nainstalovat ze souboru ZIP:

  1. Ujistěte se, že máte nainstalovaný pip . Další informace najdete v tématu instalace pip .
  2. Stáhněte si nejnovější ZIP soubor sqlmlutils z https://github.com/microsoft/sqlmlutils/tree/master/R/dist na klientský počítač. Nerozzipujte soubor.
  3. Otevřete příkazový řádek a spuštěním následujících příkazů nainstalujte balíček sqlmlutils . Nahraďte úplnou cestu k souboru zip sqlmlutils , který jste stáhli – v tomto příkladu se předpokládá, že stažený soubor je c:\temp\sqlmlutils-1.0.0.zip.
    pip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
    

Přidání balíčku Pythonu na SQL Serveru

Pomocí sqlmlutils můžete přidat balíčky Pythonu do instance SQL. Tyto balíčky pak můžete použít v kódu Pythonu spuštěném v instanci SQL. sqlmlutils používá k instalaci balíčku a každé z jejích závislostí externí knihovnu CREATE.

V následujícím příkladu přidáte do SQL Serveru balíček text-tools .

Přidání balíčku online

Pokud má klientský počítač, který používáte pro připojení k SQL Serveru, přístup k internetu, můžete pomocí nástroje sqlmlutils najít balíček text-tools a všechny závislosti přes internet a potom balíček nainstalovat do instance SYSTÉMU SQL Server vzdáleně.

  1. Na klientském počítači otevřete Python nebo prostředí Pythonu.

  2. K instalaci balíčku text-tools použijte následující příkazy. Nahraďte vlastní informace o připojení k databázi SQL Serveru (pokud používáte ověřování systému Windows, nepotřebujete tyto uid parametry a pwd parametry).

  1. Na klientském počítači otevřete Python nebo prostředí Pythonu.

  2. K instalaci balíčku text-tools použijte následující příkazy. Nahraďte vlastní informace o připojení k databázi SQL Serveru.

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

Přidejte balíček offline

Pokud klientský počítač, který používáte pro připojení k SQL Serveru, nemá připojení k internetu, můžete pomocí nástroje pip na počítači s přístupem k internetu stáhnout balíček a všechny závislé balíčky do místní složky. Potom zkopírujete složku do klientského počítače, kde můžete balíček nainstalovat offline.

Na počítači s přístupem k internetu

  1. Otevřete příkazový řádek a spuštěním následujícího příkazu vytvořte místní složku, která obsahuje balíček text-tools . Tento příklad vytvoří složku c:\temp\text-tools.

    pip download text-tools -d c:\temp\text-tools
    
  2. text-tools Zkopírujte složku do klientského počítače. Následující příklad předpokládá, že jste ho zkopírovali do c:\temp\packages\text-tools.

Na klientském počítači

Pomocí nástrojů sqlmlutils nainstalujte každý balíček (soubor WHL), který najdete v místní složce, kterou pip vytvořil. Nezáleží na tom, v jakém pořadí balíčky instalujete.

V tomto příkladu textové nástroje nemají žádné závislosti, takže existuje pouze jeden soubor ze text-tools složky, kterou můžete nainstalovat. Naproti tomu balíček, jako je scikit-plot , má 11 závislostí, takže byste našli 12 souborů ve složce (balíček scikit-plot a 11 závislých balíčků) a nainstalovali byste každý z nich.

Spusťte následující skript Pythonu. Nahraďte skutečnou cestu k souboru a název balíčku a vlastní informace o připojení k databázi SQL Serveru (pokud používáte ověřování systému Windows, nepotřebujete tyto uid parametry a pwd parametry). sqlmlutils.SQLPackageManager Opakujte příkaz pro každý soubor balíčku ve složce.

Spusťte následující skript Pythonu. Nahraďte skutečnou cestu k souboru a název balíčku a vlastní informace o připojení k databázi SQL Serveru. sqlmlutils.SQLPackageManager Opakujte příkaz pro každý soubor balíčku ve složce.

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

Použijte balíček

Balíček teď můžete použít ve skriptu Pythonu na SQL Serveru. Například:

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

Odebrání balíčku z SQL Serveru

Pokud chcete balíček text-tools odebrat, použijte následující příkaz Pythonu na klientském počítači pomocí stejné proměnné připojení, kterou jste definovali dříve.

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

Další funkce sqlmlutils

Balíček sqlmlutils obsahuje řadu funkcí pro správu balíčků Pythonu a pro vytváření, správu a spouštění uložených procedur a dotazů na SQL Serveru. Podrobnosti najdete v souboru README jazyka Python sqlmlutils.

Informace o všech funkcích sqlmlutils najdete v nápovědě k Pythonu . Například:

import sqlmlutils
help(SQLPackageManager.install)

Další kroky