Knihovny Pythonu v rámci poznámkových bloků

Knihovny s vymezeným poznámkovým blokem umožňují vytvářet, upravovat, ukládat, opakovaně používat a sdílet vlastní prostředí Pythonu, která jsou specifická pro poznámkový blok. Když nainstalujete knihovnu s vymezeným poznámkovým blokem, budou mít k této knihovně přístup jenom aktuální poznámkový blok a všechny úlohy přidružené k danému poznámkovému bloku. Jiné poznámkové bloky připojené ke stejnému clusteru nejsou ovlivněné.

Knihovny s vymezeným poznámkovým blokem se neuchovávají napříč relacemi. Knihovny s oborem poznámkového bloku je nutné přeinstalovat na začátku každé relace nebo při každém odpojení poznámkového bloku od clusteru.

Databricks doporučuje použít %pip příkaz magic k instalaci knihoven Pythonu s vymezeným poznámkovým blokem.

V poznámkových blocích, které jsou naplánované jako úlohy, můžete použít %pip . Pokud potřebujete spravovat prostředí Pythonu v poznámkovém bloku Scala, SQL nebo R, použijte %python příkaz magic ve spojení s %pip.

Při práci s instalacemi knihoven s vymezeným poznámkovým blokem můžete zaznamenat větší provoz do uzlu ovladače. Podívejte se , jak velký by měl být uzel ovladače při práci s knihovnami v oboru poznámkových bloků?.

Pokud chcete nainstalovat knihovny pro všechny poznámkové bloky připojené ke clusteru, použijte knihovny clusteru. Viz Knihovny clusterů.

Poznámka:

V Databricks Runtime 10.4 LTS a níže můžete použít nástroj knihovny Azure Databricks (starší verze). Nástroj knihovny je podporován pouze v Databricks Runtime, nikoli v Databricks Runtime ML. Viz Nástroj knihovny (dbutils.library) (starší verze).

Správa knihoven pomocí %pip příkazů

Příkaz %pip je ekvivalentní příkazu pip a podporuje stejné rozhraní API. Následující části ukazují příklady použití %pip příkazů ke správě prostředí. Další informace o instalaci balíčků Pythonu pomocí pipnástroje pip najdete v dokumentaci k instalaci pip a souvisejících stránkách.

Důležité

  • Počínaje příkazy Databricks Runtime 13.0 %pip automaticky nerestartují proces Pythonu. Pokud nainstalujete nový balíček nebo aktualizujete existující balíček, možná budete muset použít dbutils.library.restartPython() k zobrazení nových balíčků. Viz Restartování procesu Pythonu v Azure Databricks.
  • Databricks Runtime 12.2 LTS a níže doporučuje umístit všechny %pip příkazy na začátek poznámkového bloku. Stav poznámkového bloku se resetuje po každém %pip příkazu, který upraví prostředí. Pokud v poznámkovém bloku vytvoříte metody nebo proměnné Pythonu a pak použijete %pip příkazy v pozdější buňce, metody nebo proměnné se ztratí.
  • Upgrade, úprava nebo odinstalace základních balíčků Pythonu (například IPython) může %pip způsobit, že některé funkce přestanou fungovat podle očekávání. Pokud narazíte na takové problémy, resetujte prostředí odpojením a opětovným připojením poznámkového bloku nebo restartováním clusteru.

Instalace knihovny pomocí %pip

%pip install matplotlib

Instalace balíčku kolečka Pythonu pomocí %pip

%pip install /path/to/my_package.whl

Odinstalace knihovny pomocí %pip

Poznámka:

Knihovnu, která je součástí verzí a kompatibility s poznámkami k verzi Databricks Runtime, nemůžete odinstalovat nebo knihovnu nainstalovanou jako knihovnu clusteru. Pokud jste nainstalovali jinou verzi knihovny, než je ta, která je součástí databricks Runtime nebo ta, která je nainstalovaná v clusteru, můžete použít %pip uninstall k vrácení knihovny na výchozí verzi modulu Databricks Runtime nebo verze nainstalované v clusteru, ale nemůžete použít %pip příkaz k odinstalaci verze knihovny zahrnuté v Databricks Runtime nebo nainstalované v clusteru.

%pip uninstall -y matplotlib

Tato možnost je povinná -y .

Instalace knihovny ze systému správy verzí pomocí %pip

%pip install git+https://github.com/databricks/databricks-cli

Do adresy URL můžete přidat parametry, které určují například verzi nebo podadresář Git. Další informace a příklady použití jiných systémů správy verzí najdete v podpoře VCS.

Instalace privátního balíčku s přihlašovacími údaji spravovanými tajnými kódy Databricks pomocí %pip

Pip podporuje instalaci balíčků z privátních zdrojů se základním ověřováním, včetně systémů správy privátních verzí a úložišť privátních balíčků, jako je Nexus a Artifactory. Správa tajných kódů je dostupná prostřednictvím rozhraní API pro tajné kódy Databricks, které umožňuje ukládat ověřovací tokeny a hesla. K přístupu k tajným kódům z poznámkového bloku použijte rozhraní DBUtils API. Všimněte si, že můžete použít $variables v příkazech magic.

Chcete-li nainstalovat balíček z privátního úložiště, zadejte adresu URL úložiště s --index-url možností nebo %pip install ji přidejte do konfiguračního pip souboru na adrese ~/.pip/pip.conf.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/

Podobně můžete použít správu tajných kódů pomocí příkazů magic k instalaci privátních balíčků ze systémů správy verzí.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>

Instalace balíčku z DBFS pomocí %pip

Důležité

Každý uživatel pracovního prostoru může upravovat soubory uložené v DBFS. Azure Databricks doporučuje ukládat soubory do pracovních prostorů nebo na svazcích katalogu Unity.

Můžete použít %pip k instalaci privátního balíčku, který byl uložen v DBFS.

Když soubor nahrajete do DBFS, automaticky soubor přejmenuje, nahradí mezery, tečky a pomlčky podtržítky. U souborů s kolečkem Pythonu je nutné, pip aby název souboru používal tečky ve verzi (například 0.1.0) a pomlčky místo mezer nebo podtržítka, takže se tyto názvy souborů nezmění.

%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl

Instalace balíčku ze svazku pomocí %pip

Důležité

Tato funkce je ve verzi Public Preview.

S Databricks Runtime 13.3 LTS a vyššími verzemi můžete nainstalovat %pip privátní balíček, který byl uložen na svazek.

Když soubor nahrajete na svazek, automaticky soubor přejmenuje, nahradí mezery, tečky a pomlčky podtržítky. U souborů s kolečkem Pythonu je nutné, pip aby název souboru používal tečky ve verzi (například 0.1.0) a pomlčky místo mezer nebo podtržítka, takže se tyto názvy souborů nezmění.

%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl

Instalace balíčku uloženého jako soubor pracovního prostoru pomocí %pip

S Modulem Databricks Runtime 11.3 LTS a novějším můžete nainstalovat %pip privátní balíček uložený jako soubor pracovního prostoru.

%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl

Ukládání knihoven do souboru požadavků

%pip freeze > /Workspace/shared/prod_requirements.txt

Všechny podadresáře v cestě k souboru už musí existovat. Pokud spustíte %pip freeze > /Workspace/<new-directory>/requirements.txtpříkaz, příkaz selže, pokud /Workspace/<new-directory> adresář ještě neexistuje.

Instalace knihoven pomocí souboru požadavků

Soubor požadavků obsahuje seznam balíčků, které se mají nainstalovat pomocí pip. Příkladem použití souboru požadavků je:

%pip install -r /Workspace/shared/prod_requirements.txt

Další informace o requirements.txt souborech najdete v tématu Formát souboru požadavků.

Jak velký by měl být uzel ovladače při práci s knihovnami v oboru poznámkových bloků?

Použití knihoven s vymezeným poznámkovým blokem může vést k většímu provozu do uzlu ovladače, protože funguje, aby prostředí bylo konzistentní napříč uzly exekutoru.

Pokud používáte cluster s 10 nebo více uzly, Databricks doporučuje tyto specifikace jako minimální požadavek na uzel ovladače:

  • Pro cluster procesoru s 100 uzly použijte Standard_DS5_v2.
  • Pro cluster GPU s 10 uzly použijte Standard_NC12.

U větších clusterů použijte větší uzel ovladače.

Můžu použít %sh pip, !pipnebo pip? Jaký je rozdíl?

%sha ! spusťte příkaz prostředí v poznámkovém bloku. První příkaz je pomocný magický příkaz Databricks, zatímco druhý příkaz je funkcí IPythonu. pip je zkratka pro %pip to, kdy je povolená automatickámage , což je výchozí nastavení v poznámkových blocích Pythonu v Azure Databricks.

Ve službě Databricks Runtime 11.3 LTS a novějších , %pip%sh pipa !pip všechny nainstalují knihovnu jako knihovnu Pythonu s oborem poznámkového bloku. Databricks Runtime 10.4 LTS a novější doporučuje používat pouze %pip knihovny v rámci poznámkových bloků nebo pip instalovat. Chování %sh pip a !pip není konzistentní v Databricks Runtime 10.4 LTS a níže.

Známé problémy

  • V databricks Runtime 9.1 LTS nejsou knihovny v oboru poznámkových bloků kompatibilní s úlohami dávkového streamování. Databricks místo toho doporučuje používat knihovny clusteru nebo jádro IPythonu.