Megosztás:


A Databricks alkalmazások főbb fogalmai

Ez a cikk bemutatja a Databricks Apps mögötti alapvető fogalmakat, többek között azt, hogy az alkalmazások hogyan épülnek fel, hogyan kezelik a függőségeket és állapotokat, hogyan működnek az engedélyek, és hogyan használják az alkalmazások a platformerőforrásokat. Ezeknek a fogalmaknak a megértése segít az alkalmazások fejlesztésében, üzembe helyezésében és kezelésében a munkaterületen.

App

A Databricks-alkalmazások olyan webalkalmazások, amelyek tárolóalapú szolgáltatásként futnak az Azure Databricks kiszolgáló nélküli platformján. A fejlesztők olyan támogatott keretrendszereket használnak, mint a Streamlit, a Dash vagy a Gradio, amelyek interaktív adatokat vagy AI-élményeket biztosítanak egy Azure Databricks-munkaterületen.

Minden alkalmazás saját konfigurációt, identitást és elkülönített futtatókörnyezetet tartalmaz. Mivel az alkalmazások egy adott munkaterülethez tartoznak, hozzáférhetnek a munkaterületszintű erőforrásokhoz, például az SQL-raktárakhoz és a fiókszintű erőforrásokhoz, például a Unity Cataloghoz. A fejlesztők dönthetnek úgy is, hogy alkalmazásokat osztanak meg a munkaterületen kívüli felhasználókkal, de ugyanabban az Azure Databricks-fiókban.

Bár az alkalmazástároló az Azure Databricks kiszolgáló nélküli infrastruktúráján fut, maga az alkalmazás is csatlakozhat kiszolgáló nélküli és nem kiszolgáló nélküli erőforrásokhoz. Az alkalmazás elméletileg egy webes felhasználói felületet üzemeltető vezérlősík-szolgáltatásként működik, és hozzáfér az elérhető Azure Databricks adatsík-szolgáltatásokhoz. További információkért tekintse meg a Databricks architektúrájának áttekintését.

Az alkalmazások elindításához és kezeléséhez nyissa meg a munkaterület felhasználói felületén az Alkalmazások szakaszt.

Architektúra és elkülönítés

A Databricks-alkalmazások ugyanarra az architektúrára épülnek, mint a kiszolgáló nélküli számítás, és ugyanazokat az elkülönítési rétegeket élvezhetik, beleértve a dedikált számítási erőforrásokat, a hálózati szegmentálást, a inaktív és az átvitel alatt álló titkosítást, valamint a minimális jogosultság elvét. A hálózatkezelési konfiguráció részleteiért lásd a Databricks Apps hálózatkezelésének konfigurálását ismertető cikket.

Alkalmazás URL-címe

A Databricks automatikusan egyedi URL-címet rendel az egyes alkalmazásokhoz a létrehozáskor. Az URL-cím a következő formátumot követi:

https://<app-name>-<workspace-id>.<region>.databricksapps.com

Where:

  • <app-name> az alkalmazás létrehozásakor megadott név
  • <workspace-id> a munkaterület egyedi azonosítója
  • <region> az a felhőrégió, ahol a munkaterület található

Az alkalmazás létrehozása után nem módosíthatja az URL-címet. Ha másik URL-címre van szüksége, hozzon létre egy másik nevű új alkalmazást.

Template

Az alkalmazássablonok egy előre összeállított állványzatok, amelyek segítségével a fejlesztők gyorsan elkezdhetnek alkalmazásokat létrehozni egy támogatott keretrendszer használatával. Minden sablon tartalmaz egy alapszintű fájlstruktúrát, egy jegyzékfájlt app.yaml , egy requirements.txt Python-alkalmazásokhoz készült fájlt és egy minta forráskódot.

A app.yaml fájl meghatározza az alkalmazás futtatására szolgáló parancsot (például streamlit run <app-name> Streamlit-alkalmazások esetében), beállítja a helyi környezeti változókat, és deklarálja a szükséges erőforrásokat.

  • A requirements.txt segítségével tudja felvenni a további Python-csomagokat a pip-vel való telepítéshez.
  • A package.json használatával listázhatja a telepítendő Node.js csomagokat npm.

Ezek a fájlok kiegészítik az alapértelmezett rendszerkörnyezetet és az előre telepített csomagokat. További információ: Databricks Apps rendszerkörnyezet.

A fejlesztők létrehozhatnak egy új alkalmazást egy sablonból az Azure Databricks felhasználói felületével vagy parancssori felületével.

Rendszerkörnyezet

A Databricks Apps az Azure Databricks által felügyelt előre konfigurált rendszerkörnyezetben fut. További részletekért lásd a Databricks Apps rendszerkörnyezetét.

Minden alkalmazás saját elkülönített környezettel rendelkezik a függőségi ütközések elkerülése érdekében. A konzisztencia biztosítása érdekében határozza meg a szükséges csomagokat és azok verzióit az alkalmazás megfelelő fájljában:

  • Python esetén használja requirements.txta .
  • A Node.jsa következőt használja package.json: .

Hibrid telepítések esetén valószínűleg mindkét fájllal rendelkezik.

Az üzembe helyezés során az Azure Databricks telepíti ezeket a függőségeket az alkalmazás elkülönített futtatókörnyezetébe. Ha olyan csomagot tartalmaz, amely már előre telepítve van, a megadott verzió felülírja az alapértelmezettet.

További részletekért tekintse meg a Databricks-alkalmazások függőségeinek kezelése című témakört.

Alkalmazáserőforrások

Az alkalmazáserőforrások olyan Azure Databricks-natív szolgáltatások, amelyektől egy alkalmazás függ, például SQL-raktárak, végpontokat, feladatokat, titkos kulcsokat vagy köteteket kiszolgáló modell. Ezeket a függőségeket a databricks.yml mező használatával deklarálja a resources jegyzékben. Az Azure Databricks a következő erőforrástípusokat támogatja:

  • SQL Warehouse
  • Job
  • Végpontot kiszolgáló modell
  • Genie tér
  • Secret
  • Volume

Ha olyan Azure Databricks-szolgáltatásokat szeretne elérni, amelyek még nem rendelkeznek támogatott erőforrástípussal, használjon unitykatalógus által felügyelt titkos kulcsot a hitelesítő adatok biztonságos injektálásához. Lásd: Titkos kódok kezelése.

Az alkalmazáserőforrások konfigurálásának két fázisa van:

  • Deklaráció (fejlesztés) – Deklarálja az egyes szükséges erőforrásokat a databricks.yml jegyzékben. Ez határozza meg, hogy az alkalmazásnak mely erőforrásokra és milyen engedélyekre van szüksége.
  • Konfiguráció (üzembe helyezés) – Az üzembe helyezés során a Databricks Apps felhasználói felületén konfigurálhatja a deklarált erőforrásokat a tényleges munkaterület-specifikus példányokkal (például egy adott SQL-raktár kiválasztásával).

A deklaráció és a konfiguráció elkülönítése lehetővé teszi, hogy az alkalmazások hordozhatók legyenek a különböző környezetekben. Üzembe helyezheti például ugyanazt az alkalmazáskódot egy fejlesztési munkaterületen, és összekapcsolhatja egy SQL-raktárral. Éles környezetben újra felhasználhatja a kódot, és kódmódosítások nélkül konfigurálhat egy másik raktárat. Ennek támogatásához kerülje az erőforrás-azonosítók vagy környezetspecifikus értékek korlátozását az alkalmazásban.

Az Azure Databricks minimális jogosultságú hozzáférést kényszerít ki. Az alkalmazásoknak meglévő erőforrásokat kell használniuk, és nem hozhatnak létre újakat. Az üzembe helyezés során a munkaterület rendszergazdái áttekintik és jóváhagyják az alkalmazás által kért erőforrásokhoz való hozzáférést. Az alkalmazás szolgáltatási fiókja megkapja a szükséges engedélyeket, és az alkalmazás fejlesztőjének rendelkeznie kell az ezek megadásához szükséges engedéllyel.

További információ: Erőforrások hozzáadása Databricks-alkalmazásokhoz.

Alkalmazás állapota

Az alkalmazások a következő állapotok egyikével rendelkezhetnek: Futtatás, Leállítás, Üzembe helyezés vagy Összeomlás.

  • Futtatás – Az alkalmazás aktív és elérhető. Az Azure Databricks a számítási erőforrások használata alapján számláz, amíg az alkalmazás fut.
  • Leállítva – Az alkalmazás nem érhető el, és nem jár költségekkel. Az Azure Databricks megőrzi az alkalmazás konfigurációját és környezetét, így újrakonfigurálás nélkül újraindulhat.
  • Üzembe helyezés – Az alkalmazás elindul. Ez még nem érhető el, és ebben a szakaszban nem jár díjakkal.
  • Összeomlott – Az alkalmazás nem indult el vagy nem állt le váratlanul. Nem érhető el, és nem jár díjakkal. A probléma megoldása után megtekintheti a naplókat, hogy elhárítsa és újraindítsa az alkalmazást.

Alkalmazás állapota

Az alkalmazásállapot minden olyan adatot vagy környezetet tartalmaz, amelyet az alkalmazásnak a felhasználói munkamenetek vagy interakciók során meg kell őriznie. Az alkalmazások az újraindítás után nem őrzik meg a memóriában lévő állapotot. A memóriában tárolt adatok elvesznek az alkalmazás leállásakor.

Az állapotot a következő módokon tárolhatja:

  • Memóriabeli tárolás ideiglenes adatokhoz egyetlen munkameneten belül. Ezek az adatok elvesznek, amikor az alkalmazás újraindul.
  • Helyi fájlrendszer ideiglenes fájlokhoz az alkalmazás végrehajtása során. Ezek az adatok elvesznek, amikor az alkalmazás újraindul.
  • Az Azure Databricks-táblák a Databricks SQL-t használják állandó strukturált adat- és elemzési számítási feladatokhoz.
  • Munkaterületfájlok állandó strukturálatlan adatokhoz.
  • Unity Catalog-tárolók állandó strukturálatlan adatokhoz a Unity Catalog felügyeletével.

A gyakori használati esetek közé tartozik a lekérdezési eredmények gyorsítótárazása, a felhasználói beállítások mentése vagy a felhasználói műveletek naplózása a munkamenetek között.

Alkalmazás-engedélyezés

A Databricks Apps az OAuth 2.0-t használja a hitelesítéshez és a hozzáférés-vezérléshez. Mindegyik alkalmazás két egymást kiegészítő identitással rendelkezik, amelyek meghatározzák, hogyan hitelesíti és engedélyezi az Azure Databricks-erőforrásokhoz való hozzáférést: alkalmazásengedélyezési és felhasználói engedélyezés.

  • Alkalmazás-engedélyezés – Az Azure Databricks automatikusan létrehoz egy szolgáltatásnevet az egyes alkalmazásokhoz. Ez a szolgáltatásidentitás az alkalmazás identitásaként működik, és az alkalmazás fejlesztője engedélyeket ad neki. Az alkalmazás minden felhasználója ugyanazt az identitást használja, és hozzáféréssel rendelkezik ugyanahhoz az engedélykészlethez. Ez a modell olyan műveletek esetén hasznos, amelyek nem függnek az egyes felhasználók környezetétől, például naplózási vagy rendszerszintű műveletekhez.

  • Felhasználói engedélyezés – Ez a modell az alkalmazásfelhasználó identitását használja a hitelesítéshez és a hozzáférés engedélyezéséhez. A felhasználóknak ahhoz az Azure Databricks-fiókhoz kell tartozniük, ahol az alkalmazás telepítve van. Miután egyszeri bejelentkezéssel (SSO) jelentkezett be, az alkalmazás a felhasználó hitelesítő adataival hozzáférhet az olyan szabályozott erőforrásokhoz, mint az SQL Warehouse. Ez lehetővé teszi, hogy az alkalmazás tiszteletben tartsa a Unity Catalog által kezelt részletes engedélyeket anélkül, hogy ezeket az engedélyeket az alkalmazás szolgáltatási főszereplőjének adnák.

Az alkalmazások adott OAuth-hatóköröket kérnek a jegyzékben annak szabályozásához, hogy mely API-khoz és erőforrásokhoz férhetnek hozzá. Ez a rugalmas modell támogatja a nagyvállalati szintű biztonságot, és lehetővé teszi a részletes hozzáférés-vezérlést.

További információ: Engedélyezés konfigurálása Databricks-alkalmazásokban.

Alkalmazásfelhasználók

Az üzembe helyezés után az alkalmazásfejlesztők megoszthatnak egy alkalmazást a felhasználókkal vagy csoportokkal az CAN_USE alkalmazáspéldányon megadott vagy CAN_MANAGE engedélyezett engedélyekkel. A felhasználóknak nem kell ugyanahhoz a munkaterülethez tartozniuk, de ugyanahhoz az Azure Databricks-fiókhoz kell tartozniuk. A külső felhasználókkal való megosztáshoz először szinkronizálja őket a fiókjába az identitásszolgáltatóján keresztül. További információ: Felhasználók és csoportok szinkronizálása a Microsoft Entra-azonosítóból az SCIM használatával.

Az alkalmazást a fejlesztés, előkészítés és élesítés környezetei között is terjesztheti CI/CD folyamatok és "infrastruktúra mint kód" használatával. A központosított alkalmazások felhasználói felülete segít a felhasználóknak a használatra jogosult alkalmazások felderítésében és elindításában.