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 %pip
együ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.
A Python-kódtárak Databricksben való telepítéséhez elérhető lehetőségek átfogó áttekintéséért tekintse meg a Python-környezetkezelést.
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 pip
kapcsolatos 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álniadbutils.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 pip
csomagok 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, !pip
vagy pip
haszná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. pip
az 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 pip
verzió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.