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.

A Unity Catalog-táblákról további információt a Táblák létrehozása a Unity Katalógusban című témakörben talál.

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 megosztott hozzáférési móddal konfigurált számításhoz szükséges jogosultságokat ismertetik. Egyfelhasználós hozzáférési mód esetén lásd : A sekély klónozott táblák egyfelhasználós hozzáférési módban való használatával.

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 OR REPLACE 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 egyfelhasználós hozzáférési módban

Ha a Unity Catalog sekély klónjait használja egyfelhasználós hozzáférési módban, 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 SELECT a forrástáblához tartozó engedélyekkel kell rendelkeznieUSE. 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 javasolja a Unity Catalog-klónok közös hozzáférésű számítási móddal való használatát, 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.
  • 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.