Mik azok a Unity Catalog-kötetek?
A kötetek Unity Catalog-objektumok, amelyek lehetővé teszik a nem táblázatos adathalmazok szabályozását. A kötetek 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.
A Databricks kötetek használatát javasolja a nem táblázatos adatokhoz való hozzáférés szabályozásához. A táblákhoz hasonlóan a kötetek is felügyelhetők vagy külsők.
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ázatokat akkor használjon, ha táblázatos adatokkal szeretne dolgozni a Unity Catalogban.
Az alábbi cikkek további információt nyújtanak a kötetek használatával kapcsolatban:
- Kötetek létrehozása és kezelése.
- Kötetekben lévő fájlok kezelése.
- Tárterület és adatfájlok keresése.
- Felügyelt és külső kötetek.
- Mik a kötetek jogosultságai?
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.
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. Lásd: Felügyelt tárhely megadása a Unity Katalógusban.
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.
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 Unity Catalog nem kezeli a külső kötetekben lévő fájlok életciklusát és elrendezését. Külső kötet elvetésekor a Unity Catalog nem törli a mögöttes adatokat.
Milyen elérési utat használ a kötet fájljainak eléréséhez?
A kötetek a Unity Catalog háromszintű névterénekcatalog.schema.volume
harmadik szintjén ():
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 őket, és szinkronban tartja őket a megfelelő Unity Catalog-entitásokkal.
Feljegyzés
A külső kötetek adataihoz felhőalapú tárolási URI-k használatával is hozzáférhet.
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 FUSE-hoz 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 a Scala nem támogatja a FUSE-t, a Scala IO-kódokat, 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 keréken vagy JAR-fájlon belüli 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 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
.