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


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:

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:

  1. A felhasználó futtatja a DROP FEATURE parancsot.
  2. 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.
  3. 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.
  4. Szükség esetén az adat- és metaadatfájlok újra vannak írva a frissített táblatulajdonságok figyelembevételével.
  5. 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.

  1. Legalább 24 óra elteltével a felhasználó ismét végrehajtja a DROP FEATURE parancsot a TRUNCATE HISTORY záradékkal.
  2. 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.
  3. A protokoll le van csökkentve, és a táblafunkciót elveti.
  4. 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?.