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


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")