Ajánlott eljárások DBFS és Unity katalógus esetén
A Unity Catalog számos új konfigurációt és fogalmat vezet be, amelyek teljesen másképp közelítik meg az adatszabályozást, mint a DBFS. Ez a cikk számos ajánlott eljárást ismertet a Unity Catalog külső helyeivel és a DBFS-sel való munkával kapcsolatban.
A Databricks javasolja a DBFS és a csatlakoztatott felhőobjektum-tároló használatát a Unity Catalog-kompatibilis Azure Databricks-munkaterületek legtöbb használati esetéhez. Ez a cikk néhány olyan forgatókönyvet ismertet, amelyekben csatlakoztatott felhőobjektum-tárolót kell használnia. Vegye figyelembe, hogy a Databricks nem javasolja a DBFS-gyökér és a Unity Catalog együttes használatát, kivéve, ha az ott tárolt fájlokat vagy adatokat át kell telepítenie a Unity Catalogba.
Hogyan használják a DBFS-t a Unity catalog-kompatibilis munkaterületeken?
A táblákon végrehajtott műveletek örökölt hive_metastore
adathozzáférési mintákat használnak, amelyek magukban foglalhatják a DBFS által kezelt adatokat és tárolási hitelesítő adatokat. A munkaterület hatókörébe tartozó hive_metastore
felügyelt táblák a DBFS-gyökérben vannak tárolva.
Hogyan működik a DBFS egyfelhasználós hozzáférési módban?
Az egyfelhasználós hozzáférési móddal konfigurált fürtök teljes hozzáféréssel rendelkeznek a DBFS-hez, beleértve a DBFS gyökér- és csatlakoztatott adataiban lévő összes fájlt.
Hogyan működik a DBFS megosztott hozzáférési módban?
A megosztott hozzáférési mód egyesíti a Unity Catalog adatszabályozását az Azure Databricks örökölt tábla ACL-eivel. Az adatokhoz hive_metastore
való hozzáférés csak olyan felhasználók számára érhető el, akiknek kifejezett engedélyük van.
Ha közvetlenül a DBFS használatával szeretne fájlokat használni, engedélyekkel kell rendelkeznie ANY FILE
. Mivel ANY FILE
a felhasználók megkerülhetik az örökölt táblák ACL-jeit, és hozzáférhetnek a hive_metastore
DBFS által kezelt összes adathoz, a Databricks óvatosságot javasol a jogosultság megadásakor.
Ne használja a DBFS-t külső Unity Catalog-helyekkel
A Unity Catalog teljes felhőbeli URI-útvonalak használatával biztosítja a külső helyeken lévő adatokhoz való hozzáférést a felügyelt objektumtár-címtárak támogatásainak azonosításához. A DBFS-csatlakoztatások teljesen más adatelérési modellt használnak, amely teljes mértékben áthalad a Unity Katalóguson. A Databricks azt javasolja, hogy ne használja újra a felhőbeli objektumtároló köteteket a DBFS-csatlakoztatások és az UC külső kötetei között, beleértve az adatok munkaterületek vagy fiókok közötti megosztását is.
A Unity Katalógus által felügyelt tároló védelme
Unity Catalog felügyelt tárolóhelyekkel felügyelt táblák és kötetek adatfájljainak tárolására.
A Databricks a következőket javasolja felügyelt tárolóhelyekhez:
- Használjon új tárfiókokat vagy gyűjtőket.
- Egyéni identitásszabályzat definiálása a Unity Cataloghoz.
- Korlátozza a Unity Catalog által felügyelt Azure Databricks-hozzáféréseket.
- A Unity Cataloghoz létrehozott identitás-hozzáférési szabályzatokhoz való hozzáférés korlátozása.
Meglévő adatok hozzáadása külső helyekhez
A meglévő tárfiókokat külső helyeken is betöltheti a Unity Katalógusba. A legnagyobb biztonság érdekében a Databricks azt javasolja, hogy csak az összes többi tárolási hitelesítő adat és hozzáférési minta visszavonása után töltse be a tárfiókokat külső helyekre.
Soha ne töltsön be egy DBFS-gyökérként használt tárfiókot külső helyként a Unity Catalogban.
A fürtkonfigurációkat a Unity Catalog fájlrendszer-hozzáférése figyelmen kívül hagyja
A Unity Catalog nem tartja tiszteletben a fájlrendszer beállításainak fürtkonfigurációit. Ez azt jelenti, hogy a Hadoop fájlrendszerbeállításai nem működnek az egyéni viselkedés felhőobjektum-tárolóval való konfigurálásához, amikor a Unity Catalog használatával férnek hozzá az adatokhoz.
Több elérési út elérésének korlátozása
Bár általában együtt használhatja a Unity Katalógust és a DBFS-t, a szülő-gyermek kapcsolatban lévő vagy azonos elérési utakra nem lehet hivatkozni ugyanabban a parancs- vagy jegyzetfüzetcellában különböző hozzáférési módszerekkel.
Ha például egy külső tábla foo
van definiálva a hive_metastore
helyszínen a/b/c
, és egy külső hely van definiálva a Unity Catalogban a/b/
, a következő kód hibát jelez:
spark.read.table("foo").filter("id IS NOT NULL").write.mode("overwrite").save("a/b/c")
Ez a hiba nem merülne fel, ha ez a logika két cellára oszlik:
df = spark.read.table("foo").filter("id IS NOT NULL")
df.write.mode("overwrite").save("a/b/c")
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: