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
vagyCREATE OR REPLACE
használatával. EhelyettDROP
a sekély klónt, és futtasson egy újCREATE
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ákatDROP 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 nemUNDROP
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.