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:
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre.
- Keresse meg vagy keresse meg azt a sémát, amelyhez hozzá szeretné adni a kötetet, és jelölje ki.
- Kattintson a Kötet létrehozása gombra. (Megfelelő jogosultságokkal kell rendelkeznie.)
- Adja meg a kötet nevét.
- Adjon meg egy megjegyzést (nem kötelező).
- 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:
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre.
- Keresse meg vagy keresse meg azt a sémát, amelyhez hozzá szeretné adni a kötetet, és jelölje ki.
- Kattintson a Kötet létrehozása gombra. (Megfelelő jogosultságokkal kell rendelkeznie.)
- Adja meg a kötet nevét.
- Válasszon egy külső helyet, ahol létre szeretné hozni a kötetet.
- Szerkessze az elérési utat, hogy tükrözze azt az alkönyvtárat, ahol létre szeretné hozni a kötetet.
- Adjon meg egy megjegyzést (nem kötelező).
- 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 Katalóguskezelő számos felhasználói felületet biztosít a fájlkezelési feladatokhoz. Lásd: Mi az a Katalóguskezelő?.
- A Databricks segédprogram
fs
parancsai. Lásd: Fájlrendszer segédprogram (dbutils.fs). - A
%fs
magic parancs ugyanazokat a funkciókat biztosítja, mint adbutils.fs
. - Fájlok feltöltése a kötet felhasználói felületére. Lásd: Fájlok feltöltése Unity-katalóguskötetbe.
- Nyílt forráskódú parancsok, például
os.listdir()
. - Egyes bash-parancsok támogatottak.
%sh cp
támogatott, de%sh mv
nem.
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
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 dbutils
beleértve /volumes
azt is, /Volume
/volume
hogy 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áljadbutils.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
.
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: