Jegyzetfüzet-hatókörön belüli Python-kódtárak

A jegyzetfüzet-hatókörű kódtárak lehetővé teszik a jegyzetfüzetekre jellemző egyéni Python-környezetek létrehozását, módosítását, mentését, újrafelhasználását és megosztását. Jegyzetfüzet-hatókörű tár telepítésekor csak az aktuális jegyzetfüzet és a jegyzetfüzethez társított feladatok férhetnek hozzá az adott tárhoz. Az ugyanahhoz a fürthöz csatolt egyéb jegyzetfüzetekre nincs hatással.

A jegyzetfüzet-hatókörű kódtárak nem maradnak meg a munkamenetek között. Minden munkamenet elején újra kell telepítenie a jegyzetfüzet-hatókörű kódtárakat, vagy amikor a jegyzetfüzet le van választva egy fürtről.

A Databricks azt javasolja, hogy a %pip magic paranccsal telepítsen jegyzetfüzet-hatókörű Python-kódtárakat.

Feladatokként ütemezett jegyzetfüzetekben is használható %pip . Ha Egy Scala-, SQL- vagy R-jegyzetfüzetben kell kezelnie a Python-környezetet, használja a %python magic parancsot a következővel %pipegyütt: .

Nagyobb forgalmat tapasztalhat az illesztőprogram-csomópont felé a jegyzetfüzet-hatókörű kódtár telepítésekor. Lásd: Mekkora legyen az illesztőprogram-csomópont a jegyzetfüzet-hatókörű kódtárak használatakor?.

A fürthöz csatolt összes jegyzetfüzet kódtárainak telepítéséhez használjon fürttárakat. Lásd: Fürtkódtárak.

Feljegyzés

A Databricks Runtime 10.4 LTS-en és az alábbi verziókban használhatja az (örökölt) Azure Databricks-kódtár segédprogramot. A kódtár segédprogram csak a Databricks Runtime-on támogatott, a Databricks Runtime ML-ben nem. Lásd: Library segédprogram (dbutils.library) (örökölt).

Kódtárak kezelése parancsokkal %pip

A %pip parancs egyenértékű a pip paranccsal, és ugyanazt az API-t támogatja. Az alábbi szakaszok példákat mutatnak be arra, hogyan használhat %pip parancsokat a környezet kezeléséhez. A Python-csomagok telepítésével pipkapcsolatos további információkért tekintse meg a pip telepítési dokumentációját és a kapcsolódó oldalakat.

Fontos

  • A Databricks Runtime 13.0-parancsokkal %pip kezdve nem indítja újra automatikusan a Python-folyamatot. Ha új csomagot telepít vagy frissít egy meglévő csomagot, előfordulhat, hogy az új csomagok megtekintéséhez kell használnia dbutils.library.restartPython() . Lásd: A Python-folyamat újraindítása az Azure Databricksben.
  • A Databricks Runtime 12.2 LTS-en és alatta a Databricks azt javasolja, hogy az összes %pip parancsot a jegyzetfüzet elején helyezze el. A jegyzetfüzet állapota a környezetet módosító parancsok %pip után alaphelyzetbe áll. Ha Python-metódusokat vagy változókat hoz létre egy jegyzetfüzetben, majd parancsokat használ %pip egy későbbi cellában, a metódusok vagy változók elvesznek.
  • Az alapvető Python-csomagok (például az IPython) %pip frissítése, módosítása vagy eltávolítása bizonyos funkcióknak a várt módon történő leállását okozhatja. Ha ilyen problémákat tapasztal, állítsa alaphelyzetbe a környezetet a jegyzetfüzet leválasztásával és újbóli csatolásával vagy a fürt újraindításával.

Tár telepítése a %pip

%pip install matplotlib

Python-kerékcsomag telepítése a %pip

%pip install /path/to/my_package.whl

Tár eltávolítása a %pip

Feljegyzés

A Databricks Runtime kiadási jegyzeteinek verzióiban és kompatibilitásában, illetve fürttárként telepített kódtárakban nem távolítható el. Ha a Databricks Runtime-ban vagy a fürtön telepített verziótól eltérő erőforrástár-verziót telepített, a tárat visszaállíthatja %pip uninstall a Databricks Runtime alapértelmezett verziójára vagy a fürtre telepített verzióra, de nem használhat %pip parancsot a Databricks Runtime-ban vagy a fürtön telepített tár verziójának eltávolításához.

%pip uninstall -y matplotlib

A -y beállítás megadása kötelező.

Kódtár telepítése verziókövetési rendszerből a %pip

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

Paramétereket adhat hozzá az URL-címhez, hogy olyan dolgokat adjon meg, mint a verzió vagy a git alkönyvtár. További információkért és más verziókövetési rendszerek használatával kapcsolatos példákért tekintse meg a VCS támogatását .

Privát csomag telepítése a Databricks titkos kulcsai által kezelt hitelesítő adatokkal %pip

A Pip alapszintű hitelesítéssel támogatja a magánforrásokból származó csomagok telepítését, beleértve a privát verziókövetési rendszereket és a privát csomagtárakat, például a Nexust és az Artifactoryt. A titkos kódok kezelése a Databricks Titkos kódok API-val érhető el, amely lehetővé teszi a hitelesítési jogkivonatok és jelszavak tárolását. A DBUtils API használatával hozzáférhet a jegyzetfüzet titkos kulcsaihoz. Vegye figyelembe, hogy varázsparancsokban is használható $variables .

Ha privát adattárból szeretne csomagot telepíteni, adja meg az adattár URL-címét, --index-url%pip install és adja hozzá a konfigurációs fájlhoz a pip következő helyen ~/.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/

Hasonlóképpen használhat titkos kódkezelést varázsparancsokkal a privát csomagok verziókövetési rendszerekből való telepítéséhez.

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

Csomag telepítése a DBFS-ből a %pip

Fontos

A munkaterület bármely felhasználója módosíthatja a DBFS-ben tárolt fájlokat. Az Azure Databricks azt javasolja, hogy a fájlokat munkaterületeken vagy Unity Catalog-köteteken tárolja.

A DBFS-en mentett privát csomag telepítésére is használható %pip .

Amikor feltölt egy fájlt a DBFS-be, az automatikusan átnevezi a fájlt, és aláhúzásjelekre cseréli a szóközöket, az időszakokat és a kötőjeleket. Python-kerekes fájlok pip esetén a fájlnévnek szóközök vagy aláhúzásjelek helyett a verzióban (például 0.1.0) és kötőjelekben kell használnia a fájlnevet, így ezek a fájlnevek nem változnak.

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

Csomag telepítése kötetről a %pip

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

A Databricks Runtime 13.3 LTS-sel és újabb verziókkal egy kötetbe mentett privát csomagot telepíthet %pip .

Amikor feltölt egy fájlt egy kötetre, az automatikusan átnevezi a fájlt, szóközök, pontok és kötőjelek helyett aláhúzásjelekkel. Python-kerekes fájlok pip esetén a fájlnévnek szóközök vagy aláhúzásjelek helyett a verzióban (például 0.1.0) és kötőjelekben kell használnia a fájlnevet, így ezek a fájlnevek nem változnak.

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

Munkaterületfájlként tárolt csomag telepítése a %pip

A Databricks Runtime 11.3 LTS-sel és újabb verziókkal munkaterületfájlként mentett privát csomagokat telepíthet %pip .

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

Kódtárak mentése egy követelményfájlba

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

A fájl elérési útjának alkönyvtárainak már létezniük kell. Ha futtatja %pip freeze > /Workspace/<new-directory>/requirements.txt, a parancs meghiúsul, ha a könyvtár /Workspace/<new-directory> még nem létezik.

Kódtárak telepítéséhez használjon követelményfájlt

A követelmények fájlja tartalmazza a telepített pipcsomagok listáját. Egy követelményfájl használatára példa:

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

A fájlokról requirements.txt további információt a Követelmények fájlformátuma című témakörben talál.

Mekkora legyen az illesztőprogram-csomópont a jegyzetfüzet-hatókörű kódtárak használatakor?

A jegyzetfüzet-hatókörű kódtárak használata nagyobb forgalmat eredményezhet az illesztőprogram-csomópont felé, mivel úgy működik, hogy a környezet konzisztens legyen a végrehajtó csomópontok között.

Ha 10 vagy több csomópontot tartalmazó fürtöt használ, a Databricks az illesztőprogram-csomópont minimális követelményeként ezeket a specifikációkat javasolja:

  • 100 csomópontos CPU-fürt esetén használja a Standard_DS5_v2.
  • 10 csomópontos GPU-fürt esetén használja a Standard_NC12.

Nagyobb fürtök esetén használjon nagyobb illesztőcsomópontot.

Használhatom, !pipvagy piphasználhatom%sh pip? Mi a különbség?

%sh és ! végrehajt egy rendszerhéjparancsot egy jegyzetfüzetben; az előbbi egy Databricks segédvarázsló parancs , míg az utóbbi az IPython egyik funkciója. pipaz automagic engedélyezésekor használt rövidítés%pip, amely az Azure Databricks Python-jegyzetfüzetek alapértelmezett értéke.

A Databricks Runtime 11.3 LTS-en és újabb %pip%sh pipverziókon, és !pip mindegyik jegyzetfüzet-hatókörű Python-kódtárként telepít egy tárat. A Databricks Runtime 10.4 LTS-en és az alábbi verziókban a Databricks csak %pip jegyzetfüzet-hatókörű kódtárak használatát vagy pip telepítését javasolja. A Databricks Runtime 10.4 LTS és az alábbi verziók viselkedése %sh pip!pip és nem konzisztens.

Ismert problémák

  • A Databricks Runtime 9.1 LTS-en a jegyzetfüzet-hatókörű kódtárak nem kompatibilisek a kötegelt streamelési feladatokkal. A Databricks inkább fürtkódtárak vagy az IPython-kernel használatát javasolja.