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éseinek Rendszerkö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. Az ügyfélszolgálat megkérheti, hogy más csatornákon keresztül szerezzen be nyílt forráskódú technológiákat, amelyek az adott technológiával kapcsolatban mélyebb szakértelmet nyújtanak. 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 , hogy töltse fel az összes tárat, beleértve a Python-kódtárakat, a JAR-fájlokat és a Spark-összekötőket, a munkaterületi fájlokba vagy a 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ó és a Unity Catalog engedélyezése által szervezett 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ódtárakat a számítási feladatokra megosztott hozzáférési móddal a Unity-katalógus köteteiből a GRANT READ használatával minden fiókfelhasználó 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ókompatibilitását jelzi a Python-kerékfájlokhoz a különböző fürthozzáférési módokhoz a kódtá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 a Databricks Runtime 14.0-s vagy újabb verziója esetén nem támogatott. 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ást jelzi a különböző fürthozzáférési módokhoz a kódtá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.
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 a Python-kódtárak Azure Databricksbe történő telepítésének lehetőségeiről nyújt áttekintést.
Feljegyzés
- A conda-alapú környezetet használó egyéni tárolók nem kompatibilisek a 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ót
spark.databricks.driverNfs.clusterWidePythonLibsEnabled
a következőrefalse
: . 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 a 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 --index-url parancsot az %pip install 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 a 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 a Fájl elérési útját/ADLS-t 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ájl elérési útját/ADLS-t 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ódtár verzióját, vagy olyan egyéni kódtárat kell létrehoznia, amely névben ütközik egy másik, a fürtre telepített tá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 .