Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Unity Catalog egy egységes adat- és AI-szabályozási megoldás, amely közvetlenül az Azure Databricks platformba épül. Ez áttekintést nyújt a Unity Catalog legfontosabb fogalmairól, valamint arról, hogyan használható a Unity Catalog az adatok szabályozására.
A Unity Catalog fő pillérei a következők:
- Egységes hozzáférés-vezérlés: A Unity Catalog egyetlen helyen kezelheti a táblák, fájlok, modellek és egyéb objektumok engedélyeit egyetlen felületen.
- Adatfelderítés: A Unity Catalog lehetővé teszi a felhasználók számára, hogy címkékkel, leírásokkal és metaadatokkal gazdagított kereshető felületen megtalálják és megértsék az adategységeket.
- Automatizált leszármazáskövetés: Automatikusan nyomon követheti az adatok áramlását, és hogy hogyan alakulnak át a forrástól a végleges nézetekig és irányítópultokig.
- Naplózás: Az adathozzáférés és a rendszertevékenység teljes nyilvántartása a biztonsági követelményeknek és a jogszabályi megfelelőségnek való megfelelés érdekében.
- Adatminőség-monitorozás: Az adategységek állapotának proaktív nyomon követése beépített profilkészítéssel és riasztásokkal, amelyek az alsóbb rétegbeli felhasználókhoz való eljutás előtt észlelik az anomáliákat.
- Biztonságos adatmegosztás: Az élő adatok biztonságos cseréje szervezetek és felhők között a nyílt Delta Sharing protokoll használatával, így nincs szükség összetett ETL- vagy adatmásolásra.
A Unity Catalog nyílt forráskódú implementációként is elérhető. Tekintse meg a bejelentési blogot és a nyilvános Unity Catalog GitHub-adattárat.
A Unity Catalog objektummodell
A Unity Catalogban minden ön által szabályozott objektum objektumként lesz modellezve. Pontosabban ezeket az objektumokat biztonságos objektumoknak nevezzük a Unity Katalógusban. Hozzáférés-vezérlési szabályzatok és metaadatok, például címkék használatával szabályozhatja ezeket a biztonságos objektumokat.
A biztonságos objektumok a Unity Catalog objektummodell-hierarchiájában élnek, és a metaadattár nevű speciális objektumon gyökereznek. Alatta az adategységek, például táblák, nézetek, kötetek, függvények és modellek háromszintű névteret (catalog.schema.object) követnek. Más objektumok, például a tár hitelesítő adatai, külső helyek, kapcsolatok és megosztások közvetlenül a metaadattár alatt találhatók.
Ez a hierarchia annak az alapja, ahogyan a Unity Catalog rendszerezi az eszközöket, és kikényszeríti a szabályozást. A Unity Catalog objektummodell és az egyes biztonságos objektumok részletesebb megismeréséhez tekintse meg a Unity Catalog biztonságos objektumokra vonatkozó hivatkozását. Ha szeretné megtudni, hogyan működik az engedélymodell a Unity Catalog objektummodell kontextusában, tekintse meg a Unity Catalog engedélymodelljének alapelveit.
Adminisztrátori szerepkörök
A rendszergazdák felelősek a Unity Catalogban való irányítás felügyeletéért. A rendszergazdai szerepkörök különböző szintjei és alapértelmezett jogosultságai a következők:
- A fiókgazdák metaadattárakat hozhatnak létre, munkaterületeket csatolhatnak metaadattárakhoz, felhasználókat adhatnak hozzá, és jogosultságokat rendelhetnek a metaadattárakhoz.
- A munkaterület rendszergazdái felhasználókat adhatnak egy munkaterülethez, és számos munkaterület-specifikus objektumot, például feladatokat és jegyzetfüzeteket kezelhetnek. A munkaterülettől függően a munkaterület rendszergazdái számos jogosultsággal is rendelkezhetnek a munkaterülethez csatolt metaadattárban.
- A metaadattár-rendszergazdák választható szerepkörök , amelyek a metaadattár szintjén kezelhetik a tábla- és kötettárolást. Az is kényelmes, ha egy régió több munkaterületén szeretné központilag kezelni az adatokat.
További információ: Rendszergazdai jogosultságok a Unity Katalógusban.
Biztonságos objektumokhoz való hozzáférés engedélyezése és visszavonása
A kiemelt felhasználók a hierarchia bármely szintjén biztosíthatnak és vonhatnak vissza hozzáférést a biztonságos objektumokhoz, beleértve magát a metaadattárat is. Az objektumhoz való hozzáférés implicit módon ugyanazt a hozzáférést biztosítja az objektum összes gyermekéhez, kivéve, ha a hozzáférés visszavonásra kerül.
Tipikus ANSI SQL-parancsokkal hozzáférést adhat és vonhat vissza az objektumokhoz a Unity Catalogban. Példa:
GRANT CREATE TABLE ON SCHEMA mycatalog.myschema TO `finance-team`;
Az objektumengedélyek kezeléséhez használhatja a Catalog Explorert, a Databricks parancssori felületet és a REST API-kat is.
A metaadattár-rendszergazdák, az objektumok tulajdonosai és az MANAGE privilege objektumon lévő felhasználók hozzáférést adhatnak és vonhatnak vissza. A Jogosultságok kezelése a Unity Katalógusban című témakörből megtudhatja, hogyan kezelheti a jogosultságokat a Unity Catalogban.
Adatbázis-objektumok alapértelmezett elérése a Unity Katalógusban
A Unity Catalog a minimális jogosultság elvén működik, ahol a felhasználók minimális hozzáféréssel rendelkeznek a szükséges feladatok elvégzéséhez. Munkaterület létrehozásakor a nem rendszergazdai felhasználók csak az automatikusan kiosztott munkaterület-katalógushoz férhetnek hozzá, így ez a katalógus kényelmes hely a felhasználók számára, hogy kipróbálják az adatbázis-objektumok létrehozásának és elérésének folyamatát a Unity Katalógusban. Lásd Munkaterület-katalógus jogosultságai.
Felügyelt és külső táblák és kötetek
A táblák és kötetek kezelhetők vagy külsőleg tárolhatók.
- A felügyelt táblákat teljes mértékben a Unity Catalog felügyeli, ami azt jelenti, hogy a Unity Catalog az egyes felügyelt táblák irányítási és mögöttes adatfájljait is kezeli. A felügyelt táblák a unitykatalógus által felügyelt helyen vannak tárolva a felhőbeli tárolóban. A felügyelt táblák mindig a Delta Lake formátumot használják. A felügyelt táblákat a metaadattár, a katalógus vagy a séma szintjén tárolhatja.
- A külső táblák olyan táblák, amelyek hozzáférését az Azure Databricksből a Unity Catalog felügyeli, de az adatok életciklusa és a fájlelrendezés a felhőszolgáltató és más adatplatformok használatával történik. Általában külső táblák használatával regisztrál nagy mennyiségű meglévő adatot az Azure Databricksben, vagy ha írási hozzáférést is igényel az adatokhoz az Azure Databricksen kívüli eszközökkel. A külső táblák több adatformátumban is támogatottak. Miután regisztrált egy külső táblát egy Unity Catalog-metaadattárban, kezelheti és naplózhatja az Azure Databricks hozzáférését--- és dolgozhat vele--- ugyanúgy, mint a felügyelt táblák esetében.
- A felügyelt köteteket teljes mértékben a Unity Catalog felügyeli, ami azt jelenti, hogy a Unity Catalog felügyeli a kötet tárolási helyéhez való hozzáférést a felhőszolgáltató fiókjában. Felügyelt kötet létrehozásakor a rendszer automatikusan az azt tartalmazó sémához rendelt felügyelt tárolóhelyen tárolja.
- A külső kötetek az Azure Databricksen kívül felügyelt, de a Unity Katalógusban regisztrált, az Azure Databricksen belüli hozzáférés szabályozására és naplózására szolgáló tárolóhelyeken lévő meglévő adatokat jelölik. Amikor külső kötetet hoz létre az Azure Databricksben, meg kell adnia annak helyét, amelynek egy Unity Catalog külső helyen definiált elérési útján kell lennie.
A Databricks a legtöbb használati esethez ajánlott felügyelt táblákat és köteteket, mivel lehetővé teszik a Unity Catalog szabályozási képességeinek és teljesítményoptimalizálásának teljes kihasználását. A külső táblák és kötetek szokásos felhasználási eseteiről további információkért lásd a Felügyelt és külső táblák és Felügyelt és külső kötetek című részeket.
Lásd még:
- A Unity Catalog által felügyelt táblák a Delta Lake-hez és az Apache Iceberghez készült Azure Databricksben
- Dolgozzon külső táblákkal
- Felügyelt és külső kötetek összehasonlítása.
Felhőbeli tárolás és adatelkülönítés
A Unity Catalog két elsődleges módon használja a felhőbeli tárolást:
- Felügyelt tárolás: az Azure Databricksben létrehozott felügyelt táblák és felügyelt kötetek (strukturálatlan, nem táblázatos adatok) alapértelmezett helyei. Ezek a felügyelt tárolóhelyek a metaadattár, a katalógus vagy a séma szintjén határozhatók meg. Felügyelt tárolóhelyeket hoz létre a felhőszolgáltatóban, de életciklusukat teljes mértékben a Unity Catalog felügyeli.
- Tárolási helyek, ahol külső táblákat és köteteket tárolnak. Ezek olyan táblák és kötetek, amelyek hozzáférését az Azure Databricksből a Unity Catalog kezeli, de az adatok életciklusa és a fájlelrendezés a felhőszolgáltató és más adatplatformok használatával történik. Általában külső táblák vagy kötetek használatával regisztrál nagy mennyiségű meglévő adatot az Azure Databricksben, vagy ha írási hozzáférést is igényel az adatokhoz az Azure Databricksen kívüli eszközökkel.
A felhőbeli tárolókhoz való hozzáférés szabályozása külső helyek használatával
A felügyelt tárolóhelyek és azok a tárolóhelyek, ahol külső táblákat és köteteket tárolnak, külső helyek biztosítandó objektumait használják az Azure Databricksből való hozzáférés kezeléséhez. A külső helyobjektumok egy felhőalapú tárolási útvonalra hivatkoznak, és a hozzáféréshez szükséges tárolási hitelesítő adatokra . A tárolási hitelesítő adatok maguk a Unity Catalog biztonságos objektumai, amelyek regisztrálják az adott tárolási útvonal eléréséhez szükséges hitelesítő adatokat. Ezek a biztonságos kulcsok együttesen biztosítják, hogy a Unity Catalog szabályozza és nyomon kövesse a tárolóhoz való hozzáférést.
Az alábbi ábra azt mutatja be, hogy a külső helyek hogyan hivatkoznak a tárolási hitelesítő adatokra és a felhőbeli tárolóhelyekre.
Ebben a diagramban:
- Minden külső hely egy tároló hitelesítő adataira és egy felhőbeli tárolóhelyre hivatkozik.
- Több külső hely is hivatkozhat ugyanarra a tárolási hitelesítő adatra.
Az 1. tárolási hitelesítő adat hozzáférést biztosít az elérési út
bucket/tables/*alatt lévő mindenhez, így az A külső hely és a B külső hely is hivatkozik rá.
További információ: Hogyan szabályozza a Unity Katalógus a felhőbeli tárolókhoz való hozzáférést?
Felügyelt tárhelyhierarchia
A felügyelt tárolás Unity-katalógusban való definiálási szintje az előnyben részesített adatelkülönítési modelltől függ. A szervezet megkövetelheti bizonyos típusú adatok tárolását a felhőbérladó adott fiókjaiban vagy gyűjtőiben.
A Unity Catalog lehetővé teszi, hogy a metaadattár, katalógus vagy séma szintjén konfigurálja a felügyelt tárolóhelyeket az ilyen követelményeknek megfelelően.
Tegyük fel például, hogy a szervezete rendelkezik egy olyan vállalati megfelelőségi szabályzattal, amely megköveteli, hogy az emberi erőforrásokhoz kapcsolódó gyártási adatok a konténerben maradjanak, például abfss://mycompanyhr-prod@storage-account.dfs.core.windows.net. A Unity Catalogban ezt a követelményt úgy érheti el, hogy beállít egy helyet katalógusszinten, létrehoz egy úgynevezett katalógust, például hr_prod, és hozzárendeli a hely abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog-t hozzá. Ez azt jelenti, hogy a hr_prod katalógusban létrehozott felügyelt táblák vagy kötetek (például CREATE TABLE hr_prod.default.table …használatával) az adataikat abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-katalógusban tárolják. Igény szerint sémaszintű helyeket is megadhat az adatok hr_prod catalog részletesebb szintű rendszerezéséhez.
Ha egyes katalógusokhoz nincs szükség tárolóelkülönítésre, igény szerint beállíthat egy tárolóhelyet a metaadattár szintjén. Ez a hely alapértelmezett hely a katalógusokban és sémákban lévő felügyelt táblák és kötetek számára, amelyekhez nincs hozzárendelve tárterület. A Databricks azonban általában azt javasolja, hogy minden katalógushoz külön felügyelt tárolóhelyeket rendeljen hozzá.
A rendszer kiértékeli a tárolási helyek hierarchiáját a sémától a katalóguson át a metaadattárig.
Ha például létrehoz egy táblát myCatalog.mySchema.myTablemy-region-metastore, a tábla tárolási helyét a következő szabály határozza meg:
- Ha
mySchemaszámára megadásra került egy hely, az ott lesz tárolva. - Ha nem, és egy hely meg van adva
myCatalog, akkor ott lesz tárolva. - Végül, ha nincs megadva hely a
myCatalog-on, akkor amy-region-metastore-hez tartozó helyen lesz tárolva.
További információ: Felügyelt tárhely megadása a Unity Katalógusban.
Környezetelkülönítés munkaterület-katalógus kötéssel
Alapértelmezés szerint minden katalógus elérhető ugyanahhoz a metaadattárhoz csatolt munkaterületről. A katalógusokat egy adott munkaterületre korlátozhatja munkaterület-katalógus kötéssel, amely hasznos az éles adatok elkülönítéséhez, a megfelelőségi követelmények kikényszerítéséhez vagy az adattartományok elkülönítéséhez. Lásd a Munkaterület-katalógus kötését.
Hogyan állítsa be a Unity Katalógust a szervezetem számára?
A Unity Catalog használatához engedélyezni kell az Azure Databricks-munkaterületet a Unity Cataloghoz, ami azt jelenti, hogy a munkaterület egy Unity Catalog-metaadattárhoz van csatolva.
Hogyan kapcsolódik egy munkaterület egy metaadattárhoz? Ez a fióktól és a munkaterülettől függ:
- Amikor először hoz létre Azure Databricks-munkaterületet egy régióban, a metaadattár automatikusan létrejön, és a munkaterülethez van csatolva.
- Néhány régebbi fiók esetében a fiókadminisztrátornak létre kell hoznia a metaadattárat, és hozzá kell rendelnie a régióban lévő munkaterületeket a metaadattárhoz. Útmutatásért lásd : Unity Catalog-metaadattár létrehozása.
- Ha egy fiók már rendelkezik egy régióhoz hozzárendelt metaadattárval, a fiókadminisztrátor eldöntheti, hogy automatikusan csatolja-e a metaadattárat az adott régió összes új munkaterületéhez. Lásd: Metaadattár automatikus hozzárendelésének engedélyezése új munkaterületekhez.
Ha a munkaterület automatikusan engedélyezve lett-e a Unity Cataloghoz, a Unity Catalog használatának megkezdéséhez az alábbi lépésekre is szükség van:
- Katalógusokat és sémákat hozhat létre, amelyek adatbázis-objektumokat, például táblákat és köteteket tartalmaznak.
- Felügyelt tárolóhelyeket hozhat létre a felügyelt táblák és kötetek tárolásához ezekben a katalógusokban és sémákban.
- Hozzáférést biztosíthat a felhasználóknak a katalógusokhoz, sémákhoz és adatbázis-objektumokhoz.
A Unity Cataloghoz automatikusan engedélyezett munkaterületek olyan munkaterület-katalógust építenek ki, amely széles körű jogosultságokkal rendelkezik az összes munkaterület-felhasználó számára. Ez a katalógus kényelmes kiindulópont a Unity Catalog kipróbálásához.
A részletes beállítási utasításokért tekintse meg a Unity Catalog használatának első lépéseit.
Meglévő munkaterület frissítése Unity-katalógusra
Ha meg szeretné tudni, hogyan frissíthet egy nem Unity Catalog-munkaterületet Unity Catalogra, tekintse meg az Azure Databricks-munkaterület unitykatalógusra való frissítését ismertető témakört.
A Unity Catalog követelményei és korlátozásai
A Unity Cataloghoz az alábbiakban ismertetett számítási és fájlformátumok meghatározott típusai szükségesek. Az alábbiakban néhány Olyan Azure Databricks-funkciót is felsorolunk, amelyek nem támogatottak teljes mértékben a Unity Katalógusban az összes Databricks Runtime-verzióban.
Régiótámogatás
Minden régió támogatja a Unity Catalogot. További részletekért tekintse meg az Azure Databricks-régiókat.
Számítási követelmények
A Unity Catalog támogatott a Databricks Runtime 11.3 LTS vagy újabb verzióját futtató fürtökön. A Unity Catalog alapértelmezés szerint minden SQL Warehouse számítási verzióban támogatott.
A Databricks Runtime korábbi verzióiban futó fürtök nem támogatják a Unity Catalog GA összes funkcióját és szolgáltatását.
A Unity Catalogban az adatok eléréséhez a fürtöket a megfelelő hozzáférési móddal kell konfigurálni. A Unity Katalógus alapértelmezés szerint biztonságos. Ha egy fürt nincs szabványos vagy dedikált hozzáférési móddal konfigurálva, a fürt nem fér hozzá az adatokhoz a Unity Katalógusban. Lásd : Hozzáférési módok.
Az egyes Databricks Runtime-verziókban a Unity Catalog funkcióinak változásaival kapcsolatos részletes információkért tekintse meg a kibocsátási megjegyzéseket.
Fájlformátum támogatása
A Unity Catalog a következő táblázatformátumokat támogatja:
-
A felügyelt tábláknak a táblázat formátumát
deltavagyicebergformátumát kell használniuk. -
A külső táblák használhatják
deltaa ,CSV,JSON,avro,parquetvagyORCtext.
Korlátozások
A Unity Catalogra az alábbi korlátozások vonatkoznak. Ezek némelyike a Régebbi Databricks Runtime-verziókra és a számítási hozzáférési módokra vonatkozik.
A strukturált streamelési számítási feladatok további korlátozásokkal rendelkeznek a Databricks futtatókörnyezetétől és a hozzáférési módtól függően. Lásd a standard számítási követelményeket és korlátozásokat , valamint a dedikált számítási követelményeket és korlátozásokat.
A Databricks olyan új funkciókat ad ki, amelyek rendszeresen zsugorítják ezt a listát.
A korábban munkaterületen (azaz munkaterületszintű csoportokban) létrehozott csoportok nem használhatók a Unity Catalog-utasításokban
GRANT. Ennek célja, hogy egységes nézetet biztosítson a munkaterületeken átnyúló csoportokról. Ha csoportokat szeretne használniGRANTutasításokban, hozza létre őket a fiók szintjén, és frissítse a fő- vagy csoportkezelés (mint például SCIM, Okta és Microsoft Entra ID-összekötők, valamint Terraform) automatizálását úgy, hogy a fiókvégpontokra hivatkozzon munkaterület-végpontok helyett. Lásd : Csoportforrások.Az R számítási feladatai nem támogatják a dinamikus nézetek használatát sorszintű vagy oszlopszintű biztonsághoz a Databricks Runtime 15.3-at és újabb verzióit futtató számítási feladatok esetében.
- A Databricks Runtime 15.4 LTS-t vagy újabb verziót futtató dedikált számítási erőforrást használjon dinamikus nézeteket lekérdező R számítási feladatokhoz. Az ilyen számítási feladatokhoz olyan munkaterületre is szükség van, amely engedélyezve van a kiszolgáló nélküli számításhoz. További részletekért lásd a dedikált számítás részletes hozzáférés-vezérlését.
Egy felügyelt tábla sekély klónozása lehetséges egy másik felügyelt táblába a Databricks Runtime 13.3 LTS verziótól kezdve és azon túl. Egy külső táblát is lehet felületesen klónozni egy másik külső táblába a Databricks Runtime 14.2-es és újabb verzióiban. A felügyelt táblát nem lehet felületesen klónozni egy külső táblába. Ezenkívül a külső táblák nem klónozhatók sekélymásolással egy felügyelt táblába. További információ: Felületes klónozás az Unity Catalog táblákhoz.
A felosztás nem támogatott a Unity Catalog-táblák esetében. Ha olyan parancsokat futtat, amelyek egy gyűjtős táblát próbálnak létrehozni a Unity Catalogban, az kivételt okoz.
Ha több régió munkaterületéről ugyanarra az útvonalra vagy Delta Lake-táblára ír, az megbízhatatlan teljesítményhez vezethet, ha egyes fürtök hozzáférnek a Unity Katalógushoz, míg mások nem.
Külső táblák partícióinak manipulálása olyan parancsokkal, mint a
ALTER TABLE ADD PARTITION, megköveteli a partíció metaadatainak naplózásának engedélyezését. A külső táblák partíciófelderítését lásd.Ha nem Delta formátumú táblák felülírási módját használja, a felhasználónak rendelkeznie kell a szülőséma CREATE TABLE jogosultságával, és a meglévő objektum tulajdonosának kell lennie, vagy rendelkeznie kell a MODIFY jogosultsággal az objektumon.
A Python UDF-ek nem támogatottak a Databricks Runtime 12.2 LTS-ben és az alábbi verziókban. Ide tartoznak az UDAF-ek, az UDTF-ek és a Pandas a Sparkon (
applyInPandasésmapInPandas). A Python skaláris UDF-eket a Databricks Runtime 13.3 LTS és újabb verziók támogatják.A Scala UDF-ek nem támogatottak a Databricks Runtime 14.1-ben és alatta standard hozzáférési módban történő számításkor. A skaláris UDF-ek támogatottak a Databricks Runtime 14.2-ben és újabb verziókban standard hozzáférési módban történő számításkor.
A standard Scala-szálkészletek nem támogatottak. Ehelyett használja a speciális szálkészleteket, például a
org.apache.spark.util.ThreadUtilsésorg.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool. Azonban a következő szálkészletek aThreadUtils-ban nem támogatottak:ThreadUtils.newForkJoinPoolés bármelyScheduledExecutorServiceszálkészlet.
- Az Azure diagnosztikai naplói csak a Unity-katalógus eseményeit naplózják a munkaterület szintjén. A fiókszintű műveletek megtekintéséhez a naplózási naplórendszer táblát kell használnia. Lásd : Naplózási naplórendszer táblareferenciája.
A Unity Katalógusban regisztrált modellekre további korlátozások vonatkoznak. Lásd: Korlátozások.
Erőforráskvóták
A Unity katalógus minden védendő objektumra erőforráskvótákat kényszerít rá. Ezek a kvóták az erőforráskorlátokban vannak felsorolva. Ha várhatóan túllépi ezeket az erőforráskorlátokat, forduljon az Azure Databricks-fiók csapatához.
A kvótahasználatot a Unity Catalog erőforráskvóta API-kkal figyelheti. Lásd : A Unity Catalog erőforráskvóták használatának monitorozása.