Delta-tábla funkcióinak elvetése
Fontos
A Delta-tábla funkcióinak elvetése és a protokollverziók leminősítése nyilvános előzetes verzióban érhető el a Databricks Runtime 14.1-es és újabb verzióiban.
Az Azure Databricks korlátozott támogatást nyújt a táblafunkciók elvetése esetén. Táblafunkció elvetéséhez a következőknek kell történnie:
- Tiltsa le a táblafunkciót használó táblázattulajdonságokat.
- Távolítsa el a táblafunkció összes nyomkövetését a táblát háttérként tartalmazó adatfájlokból.
- Távolítsa el a táblafunkciót használó tranzakcióbejegyzéseket a tranzakciónaplóból.
- A táblaprotokoll visszalépése.
Ha támogatott, ezt a funkciót csak a Korábbi Databricks Runtime-verziókkal, a Delta Sharing-lel vagy más Delta Lake-olvasó- vagy írói ügyfelekkel való kompatibilitás támogatására használhatja.
Fontos
Minden DROP FEATURE
művelet ütközik az összes egyidejű írással.
A streamelési olvasások meghiúsulnak, ha olyan véglegesítést tapasztalnak, amely módosítja a tábla metaadatait. Ha azt szeretné, hogy a stream folytatódjon, újra kell indítania. Az ajánlott módszerekért tekintse meg a strukturált streamelés éles környezettel kapcsolatos szempontjait.
Hogyan helyezhetek el egy Delta-tábla funkciót?
Egy Delta-tábla funkció eltávolításához futtasson egy parancsot ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY]
. Lásd: ALTER TABLE.
A Databricks Runtime 14.1 vagy újabb verzióját kell használnia, és jogosultságokkal kell rendelkeznie MODIFY
a cél Delta-táblában.
Milyen Delta-táblafunkciók elvethetők?
A Delta-tábla alábbi funkcióit elvetheti:
deletionVectors
. Lásd: Mik azok a törlési vektorok?.v2Checkpoint
. Lásd a folyékony fürtözésű táblák kompatibilitását.columnMapping
. Lásd: Oszlopok átnevezése és elvetése Delta Lake-oszlopleképezéssel.typeWidening-preview
. Lásd: Típusszűkítés.checkConstraints
. Lásd : Az Azure Databricks korlátozásai.
Más Delta-táblafunkciók nem törölhetők.
A táblafunkciók engedélyezése az örökölt funkciók elvetéséhez
A DROP FEATURE
parancshoz olyan protokollverziók szükségesek, amelyek támogatják a táblafunkció olvasását és írását. A korábbi protokollverziókhoz hasonló columnMapping
és checkConstraints
támogatott Delta-funkciók. A táblában engedélyezett egyéb funkcióktól függően előfordulhat, hogy frissítenie kell a protokollverziókat, mielőtt elvethetné ezeket a funkciókat.
Az alábbi paranccsal frissítheti a táblázatolvasó és az író verzióját, amely lehetővé teszi az oszlopleképezés elvetését és a protokollra való visszalépést:
ALTER TABLE <table-name> SET TBLPROPERTIES (
'delta.minReaderVersion' = '3',
'delta.minWriterVersion' = '7'
)
Hogyan kerülnek elvetve a Delta táblafunkciói?
Mivel a Delta-tábla funkciói olvasó- és íróprotokollokat jelölnek, a tranzakciónaplóból teljesen hiányoznak a teljes eltávolításhoz. A funkció elvetése két fázisban történik, és a befejezés előtt el kell telik az idő. A funkcióeltávolítás jellemzői funkciónként eltérőek, de a következő szakasz általános áttekintést nyújt.
Táblafunkció elvetésére való felkészülés
Az első szakaszban a felhasználó előkészíti a táblafunkció elvetésére. Az alábbiakban bemutatjuk, mi történik ebben a szakaszban:
- A felhasználó futtatja a
DROP FEATURE
parancsot. - Azok a táblatulajdonságok, amelyek kifejezetten engedélyezik a táblafunkciókat, a funkció letiltására beállított értékek vannak beállítva.
- Az elvetett funkcióhoz társított viselkedést vezérlő táblatulajdonságok a funkció bevezetése előtt alapértelmezett értékekre vannak beállítva.
- Szükség esetén az adat- és metaadatfájlok újra vannak írva a frissített táblatulajdonságok figyelembevételével.
- A parancs befejeződik, és egy hibaüzenetet ad vissza, amely tájékoztatja a felhasználót, hogy 24 órát kell várnia a funkció eltávolításának folytatására.
A funkció első letiltása után folytathatja az írást a céltáblába a protokoll-leminősítés befejezése előtt, de nem használhatja az eltávolítani kívánt táblafunkciót.
Feljegyzés
Ha ebben az állapotban hagyja a táblát, a táblán végzett műveletek nem használják a tábla funkciót, de a protokoll továbbra is támogatja a tábla funkciót. Amíg nem hajtja végre az utolsó visszalépési lépést, a táblázat nem olvasható a Delta-ügyfelek számára, amelyek nem értik a táblafunkciót.
A protokoll leminősítése és a táblafunkció elvetése
A táblafunkció elvetéséhez el kell távolítania a funkcióhoz társított összes tranzakciós előzményt, és le kell bontania a protokollt.
- Legalább 24 óra elteltével a felhasználó ismét végrehajtja a
DROP FEATURE
parancsot aTRUNCATE HISTORY
záradékkal. - Az ügyfél megerősíti, hogy a megadott megőrzési küszöbértékben lévő tranzakciók nem használják a tábla funkciót, majd csonkolja a táblaelőzményeket az adott visszatartásra.
- A protokoll le van csökkentve, és a táblafunkciót elveti.
- Ha a táblázatban található táblafunkciók egy örökölt protokollverzióval jelölhetők, akkor a rendszer a
minReaderVersion
minWriterVersion
legalacsonyabb verzióra állítja vissza a táblát, amely pontosan a Delta tábla által használt összes többi funkciót támogatja.
Fontos
A futtatás ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY
eltávolítja a 24 óránál régebbi tranzakciónapló-adatokat. A Delta-tábla funkció elvetése után nincs hozzáférése a táblaelőzményekhez vagy az időutazáshoz.
Lásd : Hogyan kezeli az Azure Databricks a Delta Lake-funkciók kompatibilitását?.