Mik azok a Unity Catalogvolumes?
Unity VolumesCatalog objektumai, amelyek lehetővé teszik a nem táblázatos adathalmazok irányítását. Volumes egy felhőalapú objektumtárhelyen lévő logikai tárterületet jelöl. Volumes lehetővé teszik a fájlok elérését, tárolását, szabályozását és rendszerezését.
Bár tables táblázatos adathalmazok szabályozását biztosítja, volumes a nem táblázatos adathalmazok szabályozását. A volumes 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 a volumes használatát javasolja a nem táblázatos adatokhoz való hozzáférés szabályozásához. A tables-hez hasonlóan a volumes is felügyelhető vagy külső.
Fontos
A volumes nem használható tableshelyeként. Volumes csak elérésiút-alapú adathozzáférésre szolgálnak. A tables akkor használja, ha táblázatos adatokkal szeretne dolgozni a Unity Catalog.
Az alábbi cikkek további információt nyújtanak a volumeshasználatával kapcsolatban:
- volumes létrehozása és kezelése.
- Fájlok kezelése itt: volumes.
- Tárterület és adatfájlok keresése.
- felügyelt versus külső volumes.
- Melyek a volumesjogosultságai?.
Feljegyzés
Ha a volumes-val dolgozik, egy SQL-raktárt vagy egy 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 Catalogáltal felügyelt tárolókötet, amely a(z) schemafelügyelt tárolóhelyén jön létre. Lásd: Felügyelt tárhely megadása a Unityban Catalog.
A felügyelt volumes lehetővé teszi a szabályozott tárterület létrehozását, amely lehetővé teszi a fájlok kezelését anélkül, hogy a külső helyszínek és tárhelyek credentialstöbbletterhelést jelentenének. Felügyelt kötet létrehozásakor nem kell helyet megadnia, és a felügyelt volumes az adatokhoz való összes fájlhozzáférés a Unity Catalogáltal felügyelt útvonalakon keresztül történik.
Mi az a külső kötet?
A külső kötet egy Unity Catalogáltal szabályozott tárolókötet, amely egy külső helyszínen lévő könyvtáron belül van regisztrálva a Unity Catalogáltal szabályozott tárolási credentialshasználatával.
A Unity Catalog nem kezeli a fájlok életciklusát és elrendezését külső környezetben volumes. 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?
Volumes a Unity Catalog háromszintű névtér harmadik szintjén (catalog.schema.volume
):
térfogatra összpontosít
A volumes 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.
Az volumes fájlelérési útvonala 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 úton /<catalog>/<schema>/<volume>
sorrend 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. Automatikusan kezelik és tartják őket a sync-ban a megfelelő Unity Catalog entitásokkal együtt.
Feljegyzés
A külső volumes-ban lévő adatokhoz is hozzáférhet felhőalapú tárolási URI-k használatával.
Fenntartott elérési utak volumes
Volumes a következő fenntartott útvonalakat vezet be a volumeselé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. A /dbfs/Volumes
elérési út szintén fenntartott, de nem használható volumeseléréséhez.
Volumes-kat csak a Databricks Runtime 13.3 LTS és az újabb verziók támogatják. A Databricks Runtime 12.2 LTS és az azt megelőző verziókban a /Volumes
elérési utakon végzett műveletek sikeresek lehetnek, de csak a számítási fürtökhöz csatlakoztatott rövid élettartamú tárolólemezekre írhatnak adatokat, ahelyett, hogy az adatokat a várt módon a Unity Catalogvolumes-re írjá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 CatalogCatalog-val való interakcióhoz Unity volumes-kompatibilis számítást kell használnia. Volumes nem támogat minden számítási feladatot.
Az alábbi table a Databricks Runtime verzióján alapuló Unity Catalog mennyiségi korlátozásait ismerteti:
Databricks Runtime-verzió | Korlátozások |
---|---|
14.3 LTS és újabb | – Egyfelhasználós fürtöken nem férhet hozzá volumes a Scala szálaiból és alfolyamataiból. |
14.2 és korábbi | – Megosztott hozzáférési móddal konfigurált számítás esetén nem használhatja az UDF-eket a volumeselé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 nem támogatott a FUSE 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. |
Minden támogatott Databricks Runtime-verzió | - Volumes nem támogatják a végrehajtók számára elosztott dbutils.fs parancsokat.– A Unity Catalog UDF-ek nem támogatják a kötet fájl elérési utak elérését. – Az RDD-kből nem férhet hozzá a volumes-hoz. – A spark-submit nem használható kötetben tárolt JAR-ekkel. – Nem definiálhat függőségeket a wheel vagy JAR-fájlon belüli kötetútvonalakon keresztül elért más könyvtárakhoz. – Nem lehet list Unity Catalog objektumokat a /Volumes/<catalog-name> vagy /Volumes/<catalog-name>/<schema-name> minták használatával. A kötet nevét tartalmazó, Volumes/<catalog-name>/<schema-name>/<volume-name> formátumú teljes elérési utat kell használnia. Például dbutils.fs.ls("/Volumes/MyCatalog/MySchema/MyVolume") - A REST API DBFS-végpontja nem támogatja volumes elérési utakat. – A fürtnapló kézbesítésének célhelyeként nem jelölheti meg a volumes. - %sh mv nem támogatott fájlok áthelyezése volumesközött. Használja dbutils.fs.mv vagy %sh cp használja helyette.- Nem hozhat létre egyéni Hadoop-fájlrendszert volumes. Például new Path("dbfs:/Volumes/main/default/test-volume/file.txt") használata egy org.apache.hadoop.fs.path objektum létrehozásához nem fog működni.- Volumes nem érhetők el az Azure Government régiókban vagy a FedRAMP-megfelelőséggel rendelkező munkaterületeken. – Az elérési út formátumát a dbfs:/ sémával kell használni az Azure Data Factory könyvtár konfigurációs paneljén, például dbfs:/Volumes/<catalog-name>/<schema-name>/<volume-name>/file . |