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


Shallow clone for Unity Catalog tables

Fontos

A Unity Catalog által felügyelt táblák sekély klónozási támogatása nyilvános előzetes verzióban érhető el a Databricks Runtime 13.3-ban és újabb verziókban. A Unity Catalog külső táblájának sekély klónozási támogatása nyilvános előzetes verzióban érhető el a Databricks Runtime 14.2-ben és újabb verziójában.

A sekély klón használatával új Unity Catalog-táblákat hozhat létre meglévő Unity Catalog-táblákból. A Unity Catalog sekély klónozási támogatása lehetővé teszi, hogy a szülőtábláktól független hozzáférés-vezérlési jogosultságokkal rendelkező táblákat hozzon létre anélkül, hogy az alapul szolgáló adatfájlokat kellene másolnia.

Fontos

A Unity Catalog által felügyelt táblákat csak a Unity Catalog által felügyelt táblákba, a Unity Catalog külső tábláiba pedig külső Unity Catalog-táblákat klónozhat. VACUUM viselkedése eltér a felügyelt és a külső tábláktól. Lásd: Vacuum és Unity Catalog sekély klónok.

További információ a Delta-klónról: Tábla klónozása az Azure Databricksben.

További információ a Unity Catalog tábláiról: Mik azok a táblák és nézetek?.

Sekély klón létrehozása a Unity Katalógusban

A Unity Katalógusban létrehozhat egy sekély klónt ugyanazzal a szintaxissal, amely a termékben a sekély klónok számára elérhető, ahogyan az alábbi szintaxis példában látható:

CREATE TABLE <catalog-name>.<schema-name>.<target-table-name> SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>

Ha egy sekély klónt szeretne létrehozni a Unity Catalogban, elegendő jogosultsággal kell rendelkeznie a forrás- és a célerőforrásokon is, az alábbi táblázatban leírtak szerint:

Erőforrás A szükséges engedélyek
Forrástábla SELECT
Forrásséma USE SCHEMA
Forráskatalógus USE CATALOG
Célséma USE SCHEMA, CREATE TABLE
Célkatalógus USE CATALOG
Külső célhely (csak külső táblák) CREATE EXTERNAL TABLE

A többi tábla-létrehozási utasításhoz hasonlóan a sekély klónt létrehozó felhasználó a céltábla tulajdonosa. A célként klónozott tábla tulajdonosa a forrástáblától függetlenül szabályozhatja az adott tábla hozzáférési jogosultságait.

Feljegyzés

A klónozott tábla tulajdonosa eltérhet a forrástábla tulajdonosától.

Sekély klónozott tábla lekérdezése vagy módosítása a Unity Catalogban

Fontos

Az ebben a szakaszban található utasítások a standard hozzáférési móddal (korábban megosztott hozzáférési móddal) konfigurált számításhoz szükséges jogosultságokat ismertetik. A dedikált hozzáférési módról (korábbi nevén egyfelhasználós hozzáférési módról) lásd: Sekély klónozott táblákkal való munka dedikált hozzáférési módban.

Ha le szeretne kérdezni egy sekély klónt a Unity Catalogban, elegendő jogosultsággal kell rendelkeznie a táblában, és erőforrásokat kell tartalmaznia az alábbi táblázatban leírtak szerint:

Erőforrás A szükséges engedélyek
Katalógus USE CATALOG
Séma USE SCHEMA
Tábla SELECT

A klónozási művelet céljára vonatkozó engedélyekkel is rendelkeznie MODIFY kell a következő műveletek végrehajtásához:

  • Rekordok beszúrása
  • Rekordok törlése
  • Update típusú rekordok
  • MERGE
  • CREATE TABLE
  • DROP TABLE

Vacuum és Unity Catalog sekély klónok

Fontos

Ez a viselkedés nyilvános előzetes verzióban érhető el a Databricks Runtime 13.3 LTS és újabb verziójában a felügyelt táblák és a Databricks Runtime 14.2 és újabb verziók esetében külső táblák esetében.

Ha Unity Catalog-táblákat használ egy sekély klónozási művelet forrásához és céljához, a Unity Catalog kezeli a mögöttes adatfájlokat a klónozási művelet forrásának és céljának megbízhatóságának javítása érdekében. A sekély klón forrásán való futtatás VACUUM nem szakítja meg a klónozott táblát.

Egy adott megőrzési küszöbérték érvényes fájljainak azonosításakor VACUUM általában csak az aktuális tábla metaadatait veszi figyelembe a rendszer. A Unity Catalog sekély klónozási támogatása nyomon követi az összes klónozott tábla és a forrásadatfájlok közötti kapcsolatokat, így az érvényes fájlok ki vannak bővítve, hogy tartalmazzák azokat az adatfájlokat, amelyek szükségesek a sekély klónozott táblák és a forrástábla lekérdezéseinek visszaadásához.

Ez azt jelenti, hogy a Unity Catalog sekély klón VACUUM szemantikája esetén az érvényes adatfájl a forrástábla vagy bármely klónozott tábla megadott megőrzési küszöbértékén belüli bármely fájl. A felügyelt táblák és a külső táblák szemantikája kissé eltérő.

A metaadatok továbbfejlesztett nyomon követése megváltoztatja, hogy a műveletek hogyan VACUUM befolyásolják a Delta-táblákat háttérként szolgáló adatfájlokat, az alábbi szemantikával:

  • Felügyelt táblák VACUUM esetén a sekély klónozási művelet forrásán vagy célján végzett műveletek adatfájlokat törölhetnek a forrástáblából.
  • Külső táblák esetében a VACUUM műveletek csak akkor távolítják el az adatfájlokat a forrástáblából, ha a forrástáblán futnak.
  • A rendszer csak a forrástáblára nem érvényesnek tekintett adatfájlokat vagy a forráshoz tartozó sekély klónokat távolítja el.
  • Ha több sekély klón van definiálva egyetlen forrástáblán, a klónozott táblák egyikén sem VACUUM távolítja el a többi klónozott tábla érvényes adatfájljait.

Feljegyzés

A Databricks azt javasolja, hogy soha ne fusson VACUUM 7 napnál rövidebb megőrzési beállítással a folyamatban lévő, hosszan futó tranzakciók sérülésének elkerülése érdekében. Ha alacsonyabb megőrzési küszöbértékkel kell futnia VACUUM , győződjön meg arról, hogy a VACUUM Unity Catalog sekély klónjai eltérnek az Azure Databricks más klónozott tábláival való interakciótól VACUUM . Lásd: Tábla klónozása az Azure Databricksben.

Sekély klónozott táblákkal való munka dedikált hozzáférési módban

Ha dedikált hozzáférési módban használja a Unity Catalog sekély klónjait, rendelkeznie kell a klónozott tábla forrásának és a céltáblának az erőforrásaira vonatkozó engedélyekkel.

Ez azt jelenti, hogy a céltáblán a szükséges engedélyek mellett az egyszerű lekérdezésekhez a forráskatalógushoz, a sémához és USE a forrástáblához tartozó engedélyekkel kell rendelkeznieSELECT. Minden olyan lekérdezéshez, amely rekordokat frissítene vagy beszúrna a céltáblába, a forrástáblára vonatkozó engedélyekkel is rendelkeznie MODIFY kell.

A Databricks azt javasolja, hogy a Unity Catalog klónjaival a számításon szabványos hozzáférési móddal működjenek együtt, mivel ez lehetővé teszi a Unity Catalog sekély klóncéljainak és forrástábláinak engedélyeinek független fejlődését.

Korlátozások

  • A külső táblákon lévő sekély klónoknak külső tábláknak kell lenniük. A felügyelt táblák sekély klónjait felügyelt tábláknak kell lenniük.
  • A meglévő sekély klónt nem írhatja felül REPLACE vagy CREATE OR REPLACE használatával. Ehelyett DROP a sekély klónt, és futtasson egy új CREATE utasítást.
  • Nem oszthat meg sekély klónokat a Delta Sharing használatával.
  • Nem fészkelhet sekély klónokat, ami azt jelenti, hogy nem készíthet sekély klónt egy sekély klónból.
  • Felügyelt táblák esetén a forrástábla elvetése megszakítja a céltáblát a sekély klónok esetében. A külső táblákat biztonsági másolatként tartalmazó adatfájlokat a műveletek nem távolítják el DROP TABLE , így a külső táblák sekély klónjait nem érinti a forrás elvetése.
  • A Unity Catalog lehetővé teszi a felhasználók számára, hogy a parancs után körülbelül 7 napig felügyeljenek UNDROP táblákat DROP TABLE . A Databricks Runtime 13.3 LTS és újabb verziókban a felügyelt táblákon alapuló felügyelt sekély klónok továbbra is működnek ebben a 7 napos időszakban. Ha ebben az ablakban nem UNDROP a forrástábla szerepel, a sekély klón működése leáll, amint a forrástábla adatfájljai szemétként vannak gyűjtve.