Megosztás a következőn keresztül:


Korlátok és gyakori kérdések a Git Databricks Git-mappákkal való integrációjáról

A Databricks Git-mappák és a Git-integráció a következő szakaszokban meghatározott korlátozásokkal rendelkezik. Általános információkért lásd a Databricks korlátait.

Fájl- és adattárméretkorlátok

Az Azure Databricks nem kényszeríti ki az adattár méretére vonatkozó korlátozást. Azonban:

  • A munkaágak legfeljebb 1 gigabájtra (GB) korlátozódnak.
  • A 10 MB-nál nagyobb fájlok nem tekinthetők meg az Azure Databricks felhasználói felületén.
  • Az egyes munkaterületfájlokra külön méretkorlát vonatkozik. További részletekért olvassa el a Korlátozások című témakört.

A Databricks ezt javasolja egy adattárban:

  • A munkaterület összes objektumának és fájljának teljes száma nem haladja meg a 20 000-et.

Minden Git-művelet esetén a memóriahasználat 2 GB-ra, a lemezírások pedig 4 GB-ra korlátozódnak. Mivel a korlát műveletenként van, hiba történik, ha egy 5 GB-os jelenlegi méretű Git-adattárat próbál klónozni. Ha azonban egy 3 GB méretű Git-adattárat klónozott egy műveletben, majd később 2 GB-ot ad hozzá, a következő lekéréses művelet sikeres lesz.

Hibaüzenetet kaphat, ha az adattár túllépi ezeket a korlátokat. Időtúllépési hiba is előfordulhat az adattár klónozásakor, de a művelet a háttérben is befejeződhet.

Ha a méretkorlátnál nagyobb adattárral szeretne dolgozni, próbálja ki a ritka kivételt.

Ha olyan ideiglenes fájlokat kell írnia, amelyeket nem szeretne megőrizni a fürt leállítása után, írja meg az ideiglenes fájlokat, hogy $TEMPDIR elkerülje az ágméretkorlátok túllépését, és jobb teljesítményt nyújt, mint az aktuális munkakönyvtárba (CWD) való írás, ha a CWD a munkaterület fájlrendszerében található. További információ: Hol írhatok ideiglenes fájlokat az Azure Databricksben?

Git-mappák maximális száma munkaterületenként

Munkaterületenként legfeljebb 2000 Git-mappa lehet. Ha többre van szüksége, forduljon a Databricks ügyfélszolgálatához.

Monorepo-támogatás

A Databricks azt javasolja, hogy ne hozzon létre olyan Git-mappákat, amelyeket monoreposok hoznak létre, ahol a monorepó egy nagy, egy szervezetből álló Git-adattár, amely több ezer fájlt tartalmaz számos projektben.

Git-mappakonfiguráció

Hol vannak tárolva az Azure Databricks-adattár tartalmai?

Az adattár tartalma ideiglenesen a vezérlősík lemezére van klónozva. Az Azure Databricks-jegyzetfüzetfájlok ugyanúgy a vezérlősík adatbázisában vannak tárolva, mint a fő munkaterületen lévő jegyzetfüzetek. A nem jegyzetfüzet-fájlokat a rendszer legfeljebb 30 napig tárolja a lemezen.

Támogatja a Git-mappák a helyszíni vagy a saját üzemeltetésű Git-kiszolgálókat?

A Databricks Git-mappák támogatják a GitHub Enterprise, a Bitbucket Server, az Azure DevOps Server és a GitLab ön által felügyelt integrációt, ha a kiszolgáló internethez érhető el. A Git-mappák helyszíni Git-kiszolgálóval való integrálásával kapcsolatos részletekért olvassa el a Git Proxy Server for Git-mappákat.

Ha a Bitbucket Serverrel, a GitHub Enterprise Serverrel vagy egy olyan, ön által felügyelt GitLab-előfizetés-példánnyal szeretne integrálni, amely nem érhető el az interneten, lépjen kapcsolatba az Azure Databricks-fiók csapatával.

Milyen Databricks-objektumtípusokat támogatnak a Git-mappák?

A támogatott eszköztípusokról további információt a Databricks Git-mappák fájlegységeinek kezelése című témakörben talál.

Támogatja .gitignore a Git-mappák a fájlokat?

Igen. Ha hozzáad egy fájlt az adattárhoz, és nem szeretné, hogy a Git nyomon kövesse, hozzon létre egy .gitignore fájlt, vagy használjon egy klónozott fájlt a távoli adattárból, és adja hozzá a fájlnevet, beleértve a bővítményt is.

.gitignore Csak a Git által még nem követett fájlok esetében működik. Ha olyan fájlt ad hozzá egy fájlhoz .gitignore , amelyet a Git már követett, a git továbbra is nyomon követi a fájlt.

Létrehozhatok olyan legfelső szintű mappákat, amelyek nem felhasználói mappák?

Igen, a rendszergazdák egyetlen mélységben hozhatnak létre legfelső szintű mappákat. A Git-mappák nem támogatják a további mappaszinteket.

Támogatja a Git-mappák a Git-almodulokat?

Szám Klónozhat egy Git-almodulokat tartalmazó adattárat, de az almodul nincs klónozva.

Támogatja az Azure Data Factory (ADF) a Git-mappákat?

Igen.

Forráskezelés

Miért tűnnek el a jegyzetfüzet-irányítópultok egy másik ág lekérésekor vagy kivételekor?

Ez jelenleg korlátozás, mert az Azure Databricks-jegyzetfüzet forrásfájljai nem tárolják a jegyzetfüzet irányítópultjának adatait.

Ha meg szeretné őrizni az irányítópultokat a Git-adattárban, módosítsa a jegyzetfüzet formátumát .ipynb (Jupyter notebook formátum). Alapértelmezés szerint támogatja az irányítópult- .ipynb és vizualizációdefiníciókat. Ha meg szeretné őrizni a gráfadatokat (adatpontokat), a jegyzetfüzetet kimenetekkel kell véglegesítenie.

A jegyzetfüzet kimeneteinek véglegesítéséről .ipynb további információt a jegyzetfüzet kimenetének véglegesítésének .ipynb engedélyezése című témakörben talál.

Támogatja a Git-mappák az ágak egyesítését?

Igen. Lekéréses kérelmet is létrehozhat, és egyesítheti a Git-szolgáltatót.

Törölhetek egy ágat egy Azure Databricks-adattárból?

Szám Ág törléséhez a Git-szolgáltatóban kell dolgoznia.

Ha egy fürtre telepítve van egy tár, és egy azonos nevű tár szerepel az adattár mappájában, melyik tárat importálja a rendszer?

Az adattárban lévő kódtár importálása történik. A Python-kódtárak előzményeiről további információt a Python-kódtárak elsőbbsége című témakörben talál.

Lekérhetem az adattár legújabb verzióját a Gitből, mielőtt külső vezénylési eszközre támaszkodva futtatnék egy feladatot?

Szám Ezt általában előre véglegesítésként integrálhatja a Git-kiszolgálón, így az ágba (fő/prod) történő leküldések mindegyike frissíti az éles adattárat.

Exportálhatok adattárat?

Jegyzetfüzeteket, mappákat vagy egy teljes adattárat exportálhat. Nem exportálhat jegyzetfüzeten kívüli fájlokat. Ha egy teljes adattárat exportál, a nem jegyzetfüzetfájlokat nem tartalmazza a rendszer. Az exportáláshoz használja a workspace export Databricks parancssori felületének parancsát, vagy használja a Workspace API-t.

Biztonság, hitelesítés és jogkivonatok

A Microsoft Entra ID feltételes hozzáférési szabályzatával (CAP) kapcsolatos probléma

Amikor megpróbál klónozni egy adattárat, "megtagadott hozzáférés" hibaüzenet jelenhet meg, amikor:

  • Az Azure Databricks az Azure DevOps Microsoft Entra ID-hitelesítéssel való használatára van konfigurálva.
  • Engedélyezte a feltételes hozzáférési szabályzatot az Azure DevOpsban és egy Microsoft Entra ID feltételes hozzáférési szabályzatot.

Ennek megoldásához adjon hozzá egy kizárást a feltételes hozzáférési szabályzathoz (CAP) az Azure Databricks IP-címéhez vagy felhasználóihoz.

További információ: Feltételes hozzáférési szabályzatok.

Lista engedélyezése Azure AD-jogkivonatokkal

Ha az Azure Active Directoryt (AAD) használja az Azure DevOps hitelesítéséhez, az alapértelmezett engedélyezési lista a Git URL-címeit a következőre korlátozza:

  • dev.azure.com
  • visualstudio.com

További információ: Listák engedélyezése a távoli adattárhasználat korlátozásával.

Titkosítva vannak az Azure Databricks Git-mappák tartalma?

Az Azure Databricks Git-mappák tartalmát az Azure Databricks egy alapértelmezett kulccsal titkosítja. Az ügyfél által felügyelt kulcsokkal történő titkosítás csak a Git-hitelesítő adatok titkosítása esetén támogatott.

Hogyan és hol vannak tárolva a GitHub-jogkivonatok az Azure Databricksben? Kinek van hozzáférése az Azure Databrickshez?

  • A hitelesítési jogkivonatokat az Azure Databricks vezérlősíkja tárolja, és egy Azure Databricks-alkalmazott csak egy naplózott ideiglenes hitelesítő adatokon keresztül férhet hozzá.
  • Az Azure Databricks naplózza ezeknek a jogkivonatoknak a létrehozását és törlését, a használatukat azonban nem. Az Azure Databricks olyan naplózással rendelkezik, amely nyomon követi a Git-műveleteket, amelyekkel az Azure Databricks-alkalmazás naplózhatja a jogkivonatok használatát.
  • A GitHub enterprise naplóz jogkivonat-használatot. Más Git-szolgáltatások is rendelkezhetnek Git-kiszolgálói naplózással.

Támogatja a Git-mappák a véglegesítések GPG-aláírását?

Szám

Támogatja a Git-mappák az SSH-t?

Nem, csak HTTPS.

Hiba történt az Azure Databricks és egy másik bérlői fiókban lévő Azure DevOps-adattár csatlakoztatása során

Amikor egy külön bérlőben próbál csatlakozni a DevOpshoz, előfordulhat, hogy az üzenet Unable to parse credentials from Azure Active Directory accountmegjelenik. Ha az Azure DevOps-projekt az Azure Databrickstől eltérő Microsoft Entra ID-bérlőben van, az Azure DevOps hozzáférési jogkivonatát kell használnia. Lásd: Csatlakozás az Azure DevOpshoz DevOps-jogkivonat használatával.

CI/CD és MLOps

A bejövő módosítások törlik a jegyzetfüzet állapotát

A jegyzetfüzet forráskódját módosító Git-műveletek a jegyzetfüzet állapotának elvesztését eredményezik, beleértve a cellakimeneteket, a megjegyzéseket, a verzióelőzményeket és a widgeteket. Módosíthatja például git pull egy jegyzetfüzet forráskódját. Ebben az esetben a Databricks Git-mappáknak felül kell írniuk a meglévő jegyzetfüzetet a módosítások importálásához. git commit és push az új ág létrehozása nem befolyásolja a jegyzetfüzet forráskódját, így a jegyzetfüzet állapota megmarad ezekben a műveletekben.

Fontos

Az MLflow-kísérletek nem működnek a Git-mappákban a DBR 14.x vagy újabb verzióival.

Létrehozhatok MLflow-kísérletet egy adattárban?

Az MLflow-kísérleteknek két típusa van: munkaterület és jegyzetfüzet. Az MLflow-kísérletek két típusával kapcsolatos részletekért lásd : Betanítási futtatások rendszerezése MLflow-kísérletekkel.

A Git-mappákban bármilyen típusú és naplófuttatású MLflow-kísérletet hívhat mlflow.set_experiment("/path/to/experiment") meg, de a kísérlet és a kapcsolódó futtatások nem lesznek bevetve a forrásvezérlőbe.

Munkaterület MLflow-kísérletei

A munkaterület MLflow-kísérletei nem hozhatók létre Databricks Git-mappában (Git-mappában). Ha több felhasználó külön Git-mappákat használ ugyanazon az ML-kódon való együttműködéshez, a napló MLflow egy normál munkaterületi mappában létrehozott MLflow-kísérletre fut.

Notebook MLflow-kísérletek

Jegyzetfüzet-kísérleteket egy Databricks Git-mappában hozhat létre. Ha fájlként .ipynb ellenőrzi a jegyzetfüzetet a forrásvezérlőben, naplózhatja az MLflow-futtatásokat egy automatikusan létrehozott és társított MLflow-kísérletbe. További részletekért olvassa el a jegyzetfüzet-kísérletek létrehozásáról szóló cikket.

Adatvesztés megakadályozása MLflow-kísérletekben

A Databricks-feladatok használatával létrehozott, távoli adattárban lévő forráskóddal létrehozott jegyzetfüzet-MLflow-kísérletek ideiglenes tárolóhelyen vannak tárolva. Ezek a kísérletek kezdetben a munkafolyamat végrehajtása után is megmaradnak, de a fájlok ideiglenes tárolóban való ütemezett eltávolítása során később törlés fenyegeti őket. A Databricks a munkaterület MLflow-kísérleteinek használatát javasolja Feladatok és távoli Git-források használatával.

Figyelmeztetés

Amikor olyan ágra vált, amely nem tartalmazza a jegyzetfüzetet, a kapcsolódó MLflow-kísérlet adatai elvesznek. Ez a veszteség akkor válik permnanenssé, ha az előző ág 30 napon belül nem érhető el.

Ha a 30 napos lejárat előtt szeretné helyreállítani a hiányzó kísérleti adatokat, nevezze vissza a jegyzetfüzetet az eredeti névre, nyissa meg a jegyzetfüzetet, kattintson a jobb oldali panelen a "kísérlet" ikonra (ez gyakorlatilag meghívja az mlflow.get_experiment_by_name() API-t is), és láthatja a helyreállított kísérletet és fut. 30 nap elteltével minden árva MLflow-kísérlet törlődik, hogy megfeleljen a GDPR megfelelőségi szabályzatának.

A helyzet elkerülése érdekében a Databricks azt javasolja, hogy ne nevezze át teljesen a jegyzetfüzeteket az adattárakban, vagy ha átnevez egy jegyzetfüzetet, kattintson a jobb oldali panel "kísérlet" ikonra közvetlenül a jegyzetfüzet átnevezése után.

Mi történik, ha egy jegyzetfüzet-feladat egy munkaterületen fut, miközben egy Git-művelet folyamatban van?

Bármikor, amíg egy Git-művelet folyamatban van, előfordulhat, hogy az adattár egyes jegyzetfüzetei frissültek, míg mások nem. Ez kiszámíthatatlan viselkedést okozhat.

Tegyük fel például, hogy notebook A parancs %run használatával hívnotebook Z. Ha egy Git-művelet során futó feladat a legújabb verziót notebook Aindítja el, de notebook Z még nem frissítette, az %run A jegyzetfüzetben lévő parancs elindíthatja a régebbi verziót notebook Z. A Git-művelet során a jegyzetfüzet állapota nem kiszámítható, és előfordulhat, hogy a feladat meghiúsul vagy fut notebook A , és notebook Z különböző véglegesítésekből származik.

A helyzet elkerülése érdekében használjon Inkább Git-alapú feladatokat (ahol a forrás egy Git-szolgáltató, és nem munkaterület elérési útja). További részletekért olvassa el a Git használata feladatokkal című témakört.

Források

A Databricks-munkaterület fájljaival kapcsolatos részletekért lásd : Mik azok a munkaterületfájlok?.