Share via


Kötetek létrehozása és létrehozása

Ez a cikk olyan köteteket mutat be, amelyek Unity Catalog-objektumok, amelyek lehetővé teszik a nem táblázatos adathalmazok szabályozását. Azt is ismerteti, hogyan hozhat létre, kezelhet és dolgozhat kötetekkel.

A kötetekben lévő fájlok feltöltésével és kezelésével kapcsolatos részletekért lásd a Fájlok feltöltése Unity-katalógus kötetbe és a Unity Catalog-kötetek fájlkezelési műveleteit.

Feljegyzés

Kötetek használatakor sql-raktárat vagy Databricks Runtime 13.3 LTS-t vagy újabb verziót futtató fürtöt kell használnia, kivéve, ha Azure Databricks felhasználói felületeket használ, például a Catalog Explorert.

Mik azok a Unity Catalog-kötetek?

A kötetek Unity Catalog-objektumok, amelyek egy felhőalapú objektumtárhelyen lévő logikai tárterületet jelölnek. A kötetek lehetővé teszik a fájlok elérését, tárolását, szabályozását és rendszerezését. Míg a táblák táblázatos adathalmazok szabályozását biztosítják, a kötetek szabályozást adnak a nem táblázatos adathalmazokhoz. Kötetekkel bármilyen formátumban tárolhatja és elérheti a fájlokat, beleértve a strukturált, félig strukturált és strukturálatlan adatokat is.

Fontos

A kötetek nem használhatók táblák helyének. A kötetek csak útvonalalapú adathozzáférésre szolgálnak. Táblázatos adatok tárolására szolgáló táblák használata a Unity Catalog használatával.

Mi az a felügyelt kötet?

A felügyelt kötet egy Unity-katalógus által szabályozott tárolókötet, amely a tárolóséma felügyelt tárolási helyén jön létre. A felügyelt kötetek lehetővé teszik a szabályozott tárterület létrehozását a fájlok külső helyek és a tár hitelesítő adatainak többletterhelése nélkül történő használatához. A felügyelt kötetek létrehozásakor nem kell helyet megadnia, és a felügyelt kötetekben lévő adatokhoz való összes fájlhozzáférés a Unity Catalog által kezelt útvonalakon keresztül történik. Lásd : Milyen elérési utat használ a kötet fájljainak eléréséhez?.

Felügyelt kötet törlésekor a kötetben tárolt fájlok is törlődnek a felhőbeli bérlőről 30 napon belül.

Mi az a külső kötet?

A külső kötet egy unitykatalógus által szabályozott tárolókötet, amely egy külső helyen lévő címtárban van regisztrálva a Unity Katalógus által szabályozott tárolási hitelesítő adatokkal. A külső kötetek lehetővé teszik a Unity Catalog adatszabályozásának hozzáadását a meglévő felhőobjektum-tárolókönyvtárakhoz. A külső kötetek egyes használati esetei a következők:

  • Irányítás hozzáadása adatfájlokhoz migrálás nélkül.
  • A más rendszerek által létrehozott, az Azure Databricks által betöltött vagy elérhető fájlok szabályozása.
  • Az Azure Databricks által előállított olyan adatok szabályozása, amelyeket más rendszerek közvetlenül a felhőobjektum-tárolóból kell elérni.

A külső köteteknek a Unity Catalog tárolási hitelesítő adatai által szabályozott külső helyeken lévő könyvtáraknak kell lenniük. A Unity Catalog nem kezeli a külső kötetekben lévő fájlok életciklusát vagy elrendezését. Külső kötet elvetésekor a Unity Catalog nem törli a mögöttes adatokat.

Feljegyzés

Kötet definiálásakor a kötet elérési útján lévő adatokhoz való felhőalapú URI-hozzáférést a kötet engedélyei szabályozzák.

Milyen elérési utat használ a kötet fájljainak eléréséhez?

A kötetek elérésének elérési útja ugyanaz, akár Apache Sparkot, SQL-t, Pythont vagy más nyelveket és kódtárakat használ. Ez eltér az Azure Databricks-munkaterülethez kötött objektumtárolóban lévő fájlok régi hozzáférési mintáitól.

A kötetekben lévő fájlok elérésének elérési útja a következő formátumot használja:

/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>

Az Azure Databricks egy opcionális dbfs:/ sémát is támogat az Apache Spark használatakor, így az alábbi elérési út is működik:

dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>

Az elérési út sorrendje /<catalog>/<schema>/<volume> a fájlhoz társított három Unity Catalog-objektumnévnek felel meg. Ezek az elérésiút-elemek írásvédettek, és nem írhatók közvetlenül a felhasználók számára, ami azt jelenti, hogy fájlrendszerműveletekkel nem lehet létrehozni vagy törölni ezeket a könyvtárakat. A rendszer automatikusan felügyeli és szinkronizálja őket a megfelelő UC-entitásokkal.

Feljegyzés

A külső kötetek adataihoz felhőalapú tárolási URI-k használatával is hozzáférhet.

Mik a kötetek jogosultságai?

A kötetek ugyanazt az alapvető jogosultsági modellt használják, mint a táblák, de ahol a táblák jogosultságai a táblák sorainak lekérdezéséhez és manipulálásához való hozzáférésre összpontosítanak, a kötetek jogosultságai a fájlok használatára összpontosítanak. Ezért a kötetek a következő jogosultságokat vezetik be:

Lásd: Unity Catalog-jogosultságok és biztonságos objektumok.

Ki kezelheti a kötetjogosulatokat?

A kötetek kezeléséhez vagy a kötetek elvetéséhez tulajdonosi jogosultságokkal kell rendelkeznie egy köteten. A Unity-katalógusban minden objektumhoz csak egy tag rendelhető tulajdonosként, és bár a tulajdonjog nem kaszkádolt (vagyis a katalógus tulajdonosa nem válik automatikusan az adott katalógus összes objektumának tulajdonosává), a tulajdonjoghoz társított jogosultságok az objektumon belül található összes objektumra érvényesek.

Ez azt jelenti, hogy a Unity Catalog-kötetek esetében a következő tagok kezelhetik a kötetjogjogokat:

  • A szülőkatalógus tulajdonosa.
  • A szülőséma tulajdonosa.
  • A kötet tulajdonosa.

Bár minden objektumnak csak egyetlen tulajdonosa lehet, a Databricks azt javasolja, hogy a legtöbb objektum tulajdonjogát egy csoporthoz rendelje hozzá, nem pedig egyéni felhasználóhoz. Bármely objektum kezdeti tulajdonjoga az objektumot létrehozó felhasználóhoz van rendelve. Lásd: Unity Catalog-objektumok tulajdonjogának kezelése.

Kezelt kötet létrehozása

Felügyelt kötet létrehozásához a következő engedélyekkel kell rendelkeznie:

Erőforrás A szükséges engedélyek
Séma USE SCHEMA, CREATE VOLUME
Katalógus USE CATALOG

Sql

Felügyelt kötet létrehozásához használja a következő szintaxist:

CREATE VOLUME <catalog>.<schema>.<volume-name>;

Katalóguskezelő

Felügyelt kötet létrehozása a Catalog Explorerben:

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKatalógus ikon.
  2. Keresse meg vagy keresse meg azt a sémát, amelyhez hozzá szeretné adni a kötetet, és jelölje ki.
  3. Kattintson a Kötet létrehozása gombra. (Megfelelő jogosultságokkal kell rendelkeznie.)
  4. Adja meg a kötet nevét.
  5. Adjon meg egy megjegyzést (nem kötelező).
  6. Kattintson a Létrehozás gombra.

Külső kötet létrehozása

Külső kötet létrehozásához a következő engedélyekkel kell rendelkeznie:

Erőforrás A szükséges engedélyek
Külső hely CREATE EXTERNAL VOLUME
Séma USE SCHEMA, CREATE VOLUME
Katalógus USE CATALOG

Sql

Külső kötet létrehozásához adjon meg egy elérési utat egy külső helyen a következő szintaxis használatával:

CREATE EXTERNAL VOLUME <catalog>.<schema>.<external-volume-name>
LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

Katalóguskezelő

Külső kötet létrehozása a Catalog Explorerben:

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKatalógus ikon.
  2. Keresse meg vagy keresse meg azt a sémát, amelyhez hozzá szeretné adni a kötetet, és jelölje ki.
  3. Kattintson a Kötet létrehozása gombra. (Megfelelő jogosultságokkal kell rendelkeznie.)
  4. Adja meg a kötet nevét.
  5. Válasszon egy külső helyet, ahol létre szeretné hozni a kötetet.
  6. Szerkessze az elérési utat, hogy tükrözze azt az alkönyvtárat, ahol létre szeretné hozni a kötetet.
  7. Adjon meg egy megjegyzést (nem kötelező).
  8. Kattintson a Létrehozás gombra.

Kötet elvetése

Csak a tulajdonosi jogosultságokkal rendelkező felhasználók dobhatnak le egy kötetet. Lásd: Ki kezelheti a kötetjogjogokat?.

Kötet elvetéséhez használja az alábbi szintaxist:

DROP VOLUME IF EXISTS <volume-name>;

Felügyelt kötet elvetésekor az Azure Databricks 30 napon belül törli a mögöttes adatokat. Külső kötet elvetésekor eltávolítja a kötetet a Unity Katalógusból, de a mögöttes adatok nem változnak a külső helyen.

Fájlok olvasása kötetben

A kötetek tartalmának megtekintéséhez vagy a köteteken tárolt fájlok eléréséhez a következő engedélyekkel kell rendelkeznie:

Erőforrás A szükséges engedélyek
Térfogat READ
Séma USE SCHEMA
Katalógus USE CATALOG

A kötetek tartalmát elérési utak használatával kezelheti. Lásd : Milyen elérési utat használ a kötet fájljainak eléréséhez?.

Egyéb fájlkezelési műveletek létrehozása, törlése és végrehajtása köteten

A köteteken tárolt fájlok fájlkezelési műveleteihez a következő engedélyekkel kell rendelkeznie:

Erőforrás A szükséges engedélyek
Térfogat READ, WRITE
Séma USE SCHEMA
Katalógus USE CATALOG

Köteteken a következő eszközökkel végezhet fájlkezelési műveleteket:

A köteteken lévő fájlok programozott módon történő használatával kapcsolatos részletes információkért lásd : Fájlok használata a Unity-katalógus köteteiben.

Példajegyzetfüzet: Kötetek létrehozása és használata

Az alábbi jegyzetfüzet bemutatja a Unity Catalog-kötetek létrehozásához és használatához használt alapvető SQL-szintaxist.

Oktatóanyag: Unity Catalog-kötetek jegyzetfüzete

Jegyzetfüzet beszerzése

Fenntartott elérési utak kötetekhez

A kötetek a következő fenntartott elérési utakat vezetik be a kötetek eléréséhez:

  • dbfs:/Volumes
  • /Volumes

Feljegyzés

Az elérési utakat az Apache Spark API-kból származó lehetséges elírásokhoz is fenntartjuk, és dbutilsbeleértve /volumesazt is, /Volume/volumehogy megelőzi-e dbfs:/őket. Az elérési út /dbfs/Volumes szintén fenntartott, de nem használható kötetek eléréséhez.

A kötetek csak a Databricks Runtime 13.3 LTS-en és újabb verziókban támogatottak. A Databricks Runtime 12.2 LTS és újabb verziókban az elérési utakon végzett /Volumes műveletek sikeresek lehetnek, de a vártnak megfelelően adatokat írhatnak a számítási fürtökhöz csatlakoztatott rövid élettartamú tárolólemezekre ahelyett, hogy az adatokat a Unity Katalógus köteteibe tárolhatnák.

Fontos

Ha a DBFS-gyökér egy fenntartott elérési útján tárolja a meglévő adatokat, támogatási jegyet is beszúrhat, hogy ideiglenes hozzáférést kapjon ezekhez az adatokhoz, hogy áthelyezhesse őket egy másik helyre.

Korlátozások

A Unity Catalog-kötetek használatához unitykatalógus-kompatibilis számítást kell használnia. A kötetek nem támogatják az összes számítási feladatot.

Feljegyzés

A kötetek nem támogatják dbutils.fs a végrehajtóknak elosztott parancsokat.

A következő korlátozások érvényesek:

A Databricks Runtime 14.3 LTS-ben és újabb verziókban:

  • Egyfelhasználós fürtök esetén a Kötetek nem érhetők el a Scala szálaiból és alfolyamataiból.

A Databricks Runtime 14.2-ben és az alábbi verzióban:

  • Megosztott hozzáférési móddal konfigurált számítás esetén nem használhatja az UDF-eket a kötetek eléréséhez.
    • Mind a Python, mind a Scala hozzáfér a FU-hoz Standard kiadás az illesztőprogramtól, a végrehajtóktól azonban nem.
    • Az I/O-műveleteket végrehajtó Scala-kód futtatható az illesztőprogramon, a végrehajtókon azonban nem.
  • Az egyfelhasználós hozzáférési móddal konfigurált számítás esetében nem támogatott a FU Standard kiadás a Scalában, a Scala IO-kód, amely kötetelérési útvonalakkal vagy Scala UDF-ekkel fér hozzá az adatokhoz. A Python UDF-ek egyfelhasználós hozzáférési módban támogatottak.

Az összes támogatott Databricks Runtime-verzión:

  • A Unity Catalog UDF-jei nem támogatják a kötetfájl elérési útjainak elérését.

  • RdD-kből nem lehet köteteket elérni.

  • A spark-submit nem használható kötetben tárolt JAR-ekkel.

  • Nem definiálhat függőségeket a Wheel- vagy JAR-fájlban lévő kötetútvonalakon keresztül elért más kódtárakhoz.

  • A Unity Catalog-objektumokat nem listázhatja a minták vagy /Volumes/<catalog-name>/<schema-name> minták /Volumes/<catalog-name> használatával. Olyan teljes elérési utat kell használnia, amely tartalmazza a kötet nevét.

  • A REST API DBFS-végpontja nem támogatja a kötetek elérési útját.

  • A kötetek ki vannak zárva a globális keresési eredményekből az Azure Databricks-munkaterületen.

  • A fürtnaplók kézbesítésének célhelyeként nem adhat meg köteteket.

  • %sh mv nem támogatott fájlok kötetek közötti áthelyezéséhez. Használja dbutils.fs.mv vagy %sh cp használja helyette.

  • Kötetekkel nem hozható létre egyéni Hadoop-fájlrendszer, ami azt jelenti, hogy az alábbiak nem támogatottak:

    import org.apache.hadoop.fs.Path
    val path =  new Path("dbfs:/Volumes/main/default/test-volume/file.txt")
    val fs = path.getFileSystem(sc.hadoopConfiguration)
    fs.listStatus(path)
    
  • A kötetek nem érhetők el az Azure Government-régiókban vagy a FedRAMP-megfelelőségtel rendelkező munkaterületeken.

  • Az elérési út formátumát egy sémával dbfs:/ kell használnia az Azure Data Factory-kódtár konfigurációs paneljén. Például: dbfs:/Volumes/<catalog-name>/<schema-name>/<volume-name>/file.