Kódtárak
Kódtárat telepíthet a külső vagy egyéni kódok elérhetővé tételéhez a fürtökön futó jegyzetfüzetek és feladatok számára. A kódtárak Python, Java, Scala és R nyelven írhatók. Python-, Java- és Scala-kódtárakat tölthet fel, és a PyPI, a Maven és a CRAN-adattárakban külső csomagokra mutathat.
Az Azure Databricks számos közös kódtárat tartalmaz a Databricks Runtime-ban. Ha meg szeretné tekinteni, hogy mely kódtárakat tartalmazza a Databricks Runtime, azt az adott Databricks Runtime-verzió Databricks Runtime kiadási megjegyzéseinekRendszerkörnyezet alszakaszában teheti meg.
Feljegyzés
A Microsoft ügyfélszolgálata segít az Azure Databricks által telepített és fenntartott kódtárakkal kapcsolatos problémák elkülönítésében és megoldásában. A külső gyártótól származó összetevők esetén (a kódtárakat is beleértve) a Microsoft üzletileg észszerű támogatást nyújt a problémák elhárításához. A Microsoft ügyfélszolgálata a képességeihez mérten segít, és nem biztos, hogy meg tudja oldani a problémákat. A Githubon üzemeltetett nyílt forráskódú összekötők és projektek esetében javasoljuk, hogy jelentse a problémákat a Githubon, és kövesse nyomon azokat. A standard támogatásieset-beküldési folyamat nem támogatja a fejlesztési folyamatokat (például az árnyalási JAR-fájlokat vagy Python-kódtárak létrehozását): a gyorsabb megoldás érdekében tanácsadó bevonására van szükség. A támogatás kérheti, hogy más csatornákat is bevonjon a nyílt forráskódú technológiákba, ahol mély szakértelemmel rendelkezik ehhez a technológiához. Több közösségi webhely is létezik, például az Azure Databricks Microsoft Q&A webhelye és a Stack Overflow.
Fürt hatókörű kódtárak
A fürtökre telepíthet kódtárakat, hogy a fürtön futó összes jegyzetfüzet és feladat használni tudja őket. A Databricks támogatja a Python-, JAR- és R-kódtárakat. Lásd: Fürtkódtárak.
Fürttárat közvetlenül az alábbi forrásokból telepíthet:
- Csomagtárház, például PyPI, Maven vagy CRAN
- Munkaterület fájljai
- Unity Catalog kötetek
- Felhőobjektum-tárolóhely
- Elérési út a helyi gépen
Nem minden hely támogatott minden típusú kódtárhoz vagy számítási konfigurációhoz. A konfigurációs javaslatokhoz tekintse meg a kódtárak feltöltésére vonatkozó javaslatokat.
Fontos
A kódtárak a Databricks Runtime 14.3 LTS és az alábbi Databricks Runtime használatakor telepíthetők a DBFS-ből. A munkaterület bármely felhasználója módosíthatja azonban a DBFS-ben tárolt kódtárfájlokat. Az Azure Databricks-munkaterületen lévő kódtárak biztonságának javítása érdekében a tárfájlok dbFS-gyökérben való tárolása alapértelmezés szerint elavult és le van tiltva a Databricks Runtime 15.1-ben és újabb verzióiban. Lásd: A tárak tárolása a DBFS-gyökérben alapértelmezés szerint elavult és le van tiltva.
Ehelyett a Databricks azt javasolja, töltse fel az összes tárat, beleértve a Python-kódtárakat, a JAR-fájlokat és a Spark-összekötőket, munkaterület-fájlokba vagy Unity Catalog-kötetekbe, vagy tárcsomag-adattárak használatával. Ha a számítási feladat nem támogatja ezeket a mintákat, a felhőobjektum-tárolóban tárolt kódtárakat is használhatja.
A teljes kódtár-támogatási információkért tekintse meg a Python-kódtár támogatását, a Java és a Scala-kódtár támogatását, valamint az R-kódtárak támogatását.
Javaslatok tárak feltöltéséhez
A Databricks támogatja a Python-, JAR- és R-kódtárak legtöbb konfigurációs telepítését, de vannak nem támogatott forgatókönyvek. Javasoljuk, hogy tárakat töltsön fel olyan forráshelyekre, amelyek támogatják a számítási feladatokra való telepítést megosztott hozzáférési móddal, mivel ez az ajánlott mód az összes számítási feladathoz. Lásd: Hozzáférési módok. Amikor megosztott hozzáférési módban ütemezi a feladatokat, futtassa a feladatot egy szolgáltatásnévvel.
Fontos
Csak akkor használja a számítást egyfelhasználós hozzáférési móddal, ha a megosztott hozzáférési mód nem támogatja a szükséges funkciókat. Az elkülönítési megosztott hozzáférési mód nem egy örökölt konfiguráció a Databricksen, amely nem ajánlott.
Az alábbi táblázat a Databricks Runtime-verziók és a Unity Catalog engedélyezése szerinti javaslatokat tartalmazza.
Konfiguráció | Ajánlás |
---|---|
Databricks Runtime 13.3 LTS és újabb verzió a Unity Catalog használatával | Telepítse a könyvtárakat számításhoz a megosztott hozzáférési móddal, a Unity Katalógus köteteiből,GRANT olvasási hozzáférést biztosítva a szükséges felhasználók számára. Ha lehetséges, a Maven-koordinátákat és a JAR-kódtár elérési útjait hozzá kell adni az engedélyezési listához. |
Databricks Runtime 11.3 LTS és újabb verzió Unity Catalog nélkül | Tárak telepítése munkaterületfájlokból. (A fájlméret korlátja 500 MB.) |
Databricks Runtime 10.4 LTS és újabb | Telepítse a kódtárakat a felhőobjektum-tárolóból. |
Python-kódtár támogatása
Az alábbi táblázat a Databricks Runtime verzióinak kompatibilitását jelzi a Python wheel fájlokkal különböző fürthozzáférési módok esetén, a könyvtár forráshelyétől függően. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit, valamint a kompatibilitási és hozzáférési módokat.
A Databricks Runtime 15.0-s és újabb verziókban requirements.txt fájlokkal kezelheti Python-függőségeit. Ezek a fájlok bármely támogatott forráshelyre feltölthetők.
Feljegyzés
A Python-tojásfájlok telepítése csak a Databricks Runtime 13.3 LTS-en és az alábbi verziókban támogatott, és csak egyfelhasználós vagy nem elkülönített megosztott hozzáférési módok esetén. Emellett nem telepíthet Python-tojásfájlokat kötetekre vagy munkaterületfájlokra. Használjon Python-kerekes fájlokat, vagy telepítse a csomagokat a PyPI-ból.
Megosztott hozzáférési mód | Egyfelhasználós hozzáférési mód | Nincs elkülönítési megosztott hozzáférési mód (örökölt) | |
---|---|---|---|
PyPI | 13.3 LTS és újabb | Minden támogatott Databricks Runtime-verzió | Minden támogatott Databricks Runtime-verzió |
Munkaterület fájljai | 13.3 LTS és újabb | 13.3 LTS és újabb | 14.1 vagy újabb |
kötetek | 13.3 LTS és újabb | 13.3 LTS és újabb | Nem támogatott |
Felhőtárhely | 13.3 LTS és újabb | Minden támogatott Databricks Runtime-verzió | Minden támogatott Databricks Runtime-verzió |
DBFS (Nem ajánlott) | Nem támogatott | 14.3 és újabb | 14.3 és újabb |
Java- és Scala-kódtár támogatása
Az alábbi táblázat a JAR-fájlokhoz tartozó Databricks Runtime verziókompatibilitását jelzi a különböző fürthozzáférési módok esetén a könyvtár forráshelye alapján. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit, valamint a kompatibilitási és hozzáférési módokat.
Feljegyzés
A megosztott hozzáférési mód megköveteli, hogy a rendszergazda Maven-koordinátákat és elérési utakat adjon hozzá a JAR-kódtárakhoz.allowlist
Lásd: Allowlist-kódtárak és init-szkriptek megosztott számításon.
Megosztott hozzáférési mód | Egyfelhasználós hozzáférési mód | Nincs elkülönítési megosztott hozzáférési mód (örökölt) | |
---|---|---|---|
Maven | 13.3 LTS és újabb | Minden támogatott Databricks Runtime-verzió | Minden támogatott Databricks Runtime-verzió |
Munkaterület fájljai | Nem támogatott | Nem támogatott | 14.1 vagy újabb |
kötetek | 13.3 LTS és újabb | 13.3 LTS és újabb | Nem támogatott |
Felhőtárhely | 13.3 LTS és újabb | Minden támogatott Databricks Runtime-verzió | Minden támogatott Databricks Runtime-verzió |
DBFS (Nem ajánlott) | Nem támogatott | 14.3 és újabb | 14.3 és újabb |
R-kódtár támogatása
Az alábbi táblázat a Különböző fürtelérési módokhoz készült CRAN-csomagok Databricks Runtime-verziókompatibilitását jelzi. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit, valamint a kompatibilitási és hozzáférési módokat.
Megosztott hozzáférési mód | Egyfelhasználós hozzáférési mód | Nincs elkülönítési megosztott hozzáférési mód (örökölt) | |
---|---|---|---|
CRAN | Nem támogatott | Minden támogatott Databricks Runtime-verzió | Minden támogatott Databricks Runtime-verzió |
Jegyzetfüzet-hatókörön belüli kódtárak
A Pythonhoz és az R-hez elérhető jegyzetfüzet-hatókörű kódtárak lehetővé teszik a tárak telepítését és egy jegyzetfüzet-munkamenetre hatókörrel rendelkező környezet létrehozását. Ezek a tárak nem érintik az ugyanazon a fürtön futó többi jegyzetfüzetet. A jegyzetfüzet-hatókörű kódtárak nem maradnak meg, és minden munkamenethez újra kell telepíteni. Jegyzetfüzet-hatókörű kódtárakat akkor használjon, ha egyéni környezetre van szüksége egy adott jegyzetfüzethez.
Feljegyzés
A JAR-ek nem telepíthetők a jegyzetfüzet szintjén.
Fontos
A munkaterület-kódtárak elavultak, ezért nem használhatók. Lásd: Munkaterület-kódtárak (örökölt). A tárak munkaterületfájlokként való tárolása azonban eltér a munkaterület-táraktól, és továbbra is teljes mértékben támogatott. A munkaterületfájlként tárolt kódtárakat közvetlenül a számítási vagy feladatfeladatok végrehajtásához telepítheti.
Python-környezetkezelés
Az alábbi táblázat áttekintést nyújt a Python-kódtárak Azure Databricksben való telepítéséhez használható lehetőségekről.
Feljegyzés
-
A conda-alapú környezetet használó egyéni tárolók nem kompatibiliseka jegyzetfüzet-hatókörű kódtárakkal és a Databricks Runtime 10.4 LTS-beli és újabb fürttárakkal. Ehelyett az Azure Databricks azt javasolja, hogy a kódtárakat közvetlenül a lemezképre telepítse, vagy használjon init-szkripteket. Ha továbbra is fürtkódtárakat szeretne használni ezekben a forgatókönyvekben, beállíthatja a Spark-konfigurációs
spark.databricks.driverNfs.clusterWidePythonLibsEnabled
false
. A Spark-konfiguráció támogatása 2021. december 31-én vagy azt követően megszűnik.
Python-csomag forrása | Jegyzetfüzet-hatókörön belüli kódtárak a következővel: %pip | Jegyzetfüzet-hatókörű kódtárak alapkörnyezeti YAML-fájllal | Fürtkódtárak | Feladattárak a Jobs API-val |
---|---|---|---|---|
PyPI | Használja az %pip install parancsot. Lásd ezt a példát. |
PyPI-csomagnév hozzáadása alapkörnyezeti YAML-fájlhoz. Lásd ezt a példát. | Válassza PyPI-t forrásként. | Adjon hozzá egy új pypi objektumot a feladatkódtárakhoz, majd adja meg a package mezőt. |
Privát PyPI-tükör, például Nexus vagy Artifactory | Használja a %pip install parancsot az --index-url kapcsolóval. A Titkos kód kezelése elérhető. Lásd ezt a példát. |
Adja hozzá a -–index-url fájlt egy alapkörnyezeti YAML-fájlhoz. A Titkos kód kezelése elérhető. Lásd ezt a példát. |
Nem támogatott. | Nem támogatott. |
VCS, például a GitHub, nyers forrással | Használja a %pip install parancsot, és adja meg az adattár URL-címét a csomag neveként. Lásd ezt a példát. |
Adjon hozzá egy adattár URL-címét csomagnévként egy alapkörnyezeti YAML-fájlhoz. Lásd ezt a példát. | Válassza PyPI-t forrásként, és adja meg az adattár URL-címét csomagnévként. | Adjon hozzá egy új pypi objektumot a feladatkódtárakhoz, és adja meg az adattár URL-címét a package mezőként. |
Privát VCS nyers forrással | Használja a %pip install parancsot, és adja meg az adattár URL-címét alapszintű hitelesítéssel a csomag neveként. A Titkos kód kezelése elérhető. Lásd ezt a példát. |
Adjon hozzá egy alapszintű hitelesítéssel rendelkező adattárat csomagnévként egy alapkörnyezeti YAML-fájlhoz. Lásd ezt a példát. | Nem támogatott. | Nem támogatott. |
Fájl elérési útja | Használja az %pip install parancsot. Lásd ezt a példát. |
Adjon hozzá egy fájl elérési útját csomagnévként egy alapkörnyezeti YAML-fájlhoz. Lásd ezt a példát. | Válassza ki a Fájl elérési útját/ADLS forrásként. | Adjon hozzá egy új egg vagy whl objektumot a feladattárakhoz, és adja meg a fájl elérési útját mezőként package . |
Azure Data Lake Storage Gen2 | Használja %pip install együtt egy előre aláírt URL-címmel. Az Azure Data Lake Storage Gen2 protokollal abfss:// rendelkező útvonalak nem támogatottak. |
Adjon hozzá egy előre aláírt URL-címet csomagnévként egy alapkörnyezeti YAML-fájlhoz. Az Azure Data Lake Storage Gen2 protokollal abfss:// rendelkező útvonalak nem támogatottak. |
Válassza a fájlelérési út/ADLS elemet forrásként. | Adjon hozzá egy új egg vagy whl objektumot a feladattárakhoz, és adja meg mezőként az package Azure Data Lake Storage Gen2 elérési útját. |
Python-kódtár elsőbbsége
Előfordulhat, hogy felül kell bírálnia egy beépített könyvtár verziószámát, vagy olyan egyéni könyvtárat kell használnia, amelynek a neve ütközik egy másik, a fürtre telepített könyvtárral. A futtatáskor import <library>
a rendszer importálja a magas előzményű kódtárat.
Fontos
A munkaterületfájlokban tárolt kódtárak eltérő elsőbbséget élveznek attól függően, hogy hogyan lettek hozzáadva a Pythonhoz sys.path
. A Databricks Git-mappa hozzáadja az aktuális munkakönyvtárat az összes többi tár előtti elérési úthoz, míg a Git-mappákon kívüli jegyzetfüzetek a többi tár telepítése után hozzáadják az aktuális munkakönyvtárat. Ha manuálisan fűzi hozzá a munkaterület-könyvtárakat az elérési úthoz, ezek mindig a legalacsonyabb elsőbbséget élvezik.
Az alábbi lista a legmagasabbtól a legalacsonyabbig sorolja a prioritást. Ebben a listában az alacsonyabb szám nagyobb elsőbbséget jelent.
- Az aktuális munkakönyvtár tárai (csak Git-mappák).
- A Git-mappa gyökérkönyvtárában lévő kódtárak (csak Git-mappák).
- Jegyzetfüzet-hatókörű kódtárak (
%pip install
jegyzetfüzetekben). - Fürtkódtárak (a felhasználói felület, a parancssori felület vagy az API használatával).
- A Databricks Runtime-ban található kódtárak.
- Az init-szkriptekkel telepített kódtárak a beépített kódtárak előtt vagy után megoldódhatnak a telepítésük módjától függően. A Databricks nem javasolja a kódtárak init-szkriptekkel való telepítését.
- Az aktuális munkakönyvtár tárai (nem a Git-mappákban).
- A munkaterület fájljai
sys.path
a .