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


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:

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

Unity Catalog objektummodell diagram, amely a 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 dbutilsbeleértve /volumesazt is, /Volume/volumehogy 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.