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


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 kötetek használati esetei

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ázatokhoz hasonlóan a kötetek is kezelhetők vagy lehetnek külsők.

A kötetek használati esetei a következők:

  • Regisztrálja a külső rendszerek által előállított nyers adatok fogadó területeit az ETL-folyamatok és egyéb adatfeldolgozási munkafolyamatok korai szakaszában történő feldolgozás támogatására.
  • Beszúrásra szánt helyeket regisztrálhat, például az Auto Loader,COPY INTO vagy a CTAS (CREATE TABLE AS) utasításokkal.
  • Fájltárolási helyeket biztosít az adatelemzők, adatelemzők és gépi tanulási mérnökök számára a feltáró adatelemzési és egyéb adatelemzési feladatok részeként.
  • Hozzáférést biztosíthat az Azure Databricks-felhasználóknak a felhőben más rendszerek által létrehozott és a felhőben elhelyezett tetszőleges fájlokhoz, például a felügyeleti rendszerek vagy IoT-eszközök által rögzített, strukturálatlan adatok (például kép-, hang-, video- és PDF-fájlok), illetve a helyi függőségkezelő rendszerekből vagy CI/CD-folyamatokból exportált kódtárfájlokhoz (JAR-k és Python-kerékfájlok).
  • Tárolhatja a működési adatokat, például naplózási vagy ellenőrzőpont-fájlokat.

Fontos

A kötetekben lévő fájlokat nem regisztrálhatja táblákként a Unity Catalogban. 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.

Mi 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árolóhely megadása a Unity Catalogban.

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ének harmadik szintjén helyezkednek el (catalog.schema.volume):

Unity Catalog objektummodell-diagram, kötetre összpontosítva

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 útvonal elemek csak olvashatók és nem módosíthatók közvetlenül, 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.

Megjegyzés

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

Fenntartott elérési utak kötetekhez

A kötetek a következő fenntartott elérési utakat határozzák meg a kötetek eléréséhez:

  • dbfs:/Volumes
  • /Volumes

Megjegyzés

Az elérési utakat az Apache Spark API-kból származó lehetséges elírásokhoz is fenntartjuk, beleértve dbutils, /volumes, /Volume, /volume elemeket, függetlenül attól, hogy előzi-e őket dbfs:/. Az /dbfs/Volumes elérési út ugyanúgy fenntartott, de nem használható kötetekhez való hozzáférésre.

Csak a Databricks Runtime 13.3 LTS és későbbi verziók támogatják a köteteket. A Databricks Runtime 12.2 LTS és alacsonyabb verzióiban a /Volumes elérési utakon végzett műveletek lehet, hogy sikeresek, de csak a számítási fürtökhöz csatlakoztatott ideiglenes tárolólemezekre írhatják az adatokat, ahelyett, hogy azokat a Unity Catalog köteteiben tárolnák, ahogy az elvárható lenne.

Fontos

Ha már meglévő adatok vannak tárolva a DBFS-gyökér egy fenntartott elérési útján, nyújtson be támogatási jegyet, hogy ideiglenes hozzáférést szerezzen ezekhez az adatokhoz, és áthelyezhesse őket egy másik helyre.

Számítási követelmények

Kötetek használatakor SQL-raktárat vagy egy Databricks Runtime 13.3 LTS 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.

Korlátozások

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

Az alábbi táblázat a Unity Catalog kötetkorlátozásait ismerteti a Databricks Runtime verziója alapján:

Databricks Runtime verzió Korlátozások
Minden támogatott Databricks Runtime-verzió
  • A kötetek nem támogatják a végrehajtóknak elosztott dbutils.fs parancsokat.
  • 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.
  • Az örökölt spark-submit feladatot nem használhatja kötetben tárolt JAR-ekkel. Ehelyett használja a JAR-feladatot. A munkákhoz lásd a JAR-feladatot.
  • Nem definiálhatja a függőségeket olyan más kódtárakhoz, amelyek kötetútvonalakon keresztül érhetők el a wheel- vagy JAR-fájlon belül.
  • A Unity Catalog objektumokat nem listázhatja 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 a kötetek elérési útját.
  • %sh mv nem támogatott fájlok kötetek közötti áthelyezéséhez. Használja inkább a dbutils.fs.mv vagy %sh cp elemet.
  • Egyéni Hadoop-fájlrendszer nem hozható létre kötetekkel. 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.
  • 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 dbfs:/ séma használatával kell megadnia az Azure Data Factory könyvtár konfigurációs paneljén, például dbfs:/Volumes/<catalog-name>/<schema-name>/<volume-name>/file.
14.3 LTS és újabb
  • Dedikált hozzáférési módban (korábban egyfelhasználós hozzáférési módban) a számításban a kötetek nem érhetők el a Scala szálakból és alfolyamatokból.
14.2 és korábbi
  • Standard hozzáférési móddal (korábban 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.
  • A dedikált hozzáférési móddal konfigurált számítás esetében a FUSE használata a Scalában, a kötetútvonalakat használó Scala IO kód, és a Scala UDF-ek nem támogatottak. A Python UDF-ek dedikált hozzáférési módban támogatottak.

Következő lépések

Az alábbi cikkek további információt nyújtanak a kötetek használatával kapcsolatban: