VACUUM
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Távolítsa el a nem használt fájlokat egy táblakönyvtárból.
Feljegyzés
Ez a parancs másként működik attól függően, hogy Delta- vagy Apache Spark-táblán dolgozik.
Delta-tábla kipucolása
A Delta-táblához társított rekurzívan vákuumkönyvtárak. További részletekért és korlátozásokért lásd : A nem használt adatfájlok eltávolítása vákuummal.
VACUUM
Eltávolítja az összes olyan fájlt a táblakönyvtárból, amelyet nem a Delta kezel, valamint azokat az adatfájlokat, amelyek már nem szerepelnek a tábla tranzakciónaplójának legújabb állapotában, és amelyek régebbiek a megőrzési küszöbértéknél. VACUUM
az aláhúzással (_
) kezdődő összes könyvtárat kihagyja, amely tartalmazza a _delta_log
. A tábla aláhúzással kezdődő oszlopon való particionálása kivétel a szabály alól; VACUUM
Megvizsgálja a cél Delta-táblában található összes érvényes partíciót. A Delta-tábla adatfájljai a Delta tranzakciónaplójából logikailag eltávolított időnek és a megőrzési időnek megfelelően törlődnek, nem pedig a tárolási rendszeren lévő módosítási időbélyegek alapján. Az alapértelmezett küszöbérték 7 nap.
A Delta-táblákon az Azure Databricks nem aktiválja VACUUM
automatikusan a műveleteket.
Ha Delta-táblán futVACUUM
, elveszíti a megadott adatmegőrzési időszaknál régebbi verzióra való visszautazás lehetőségét.
Figyelmeztetés
Javasoljuk, hogy legalább 7 napos megőrzési időközt állítson be, mert a régi pillanatképeket és a nem véglegesített fájlokat továbbra is használhatják az egyidejű olvasók vagy írók a táblához. Ha VACUUM
eltávolítja az aktív fájlokat, az egyidejű olvasók meghibásodhatnak, vagy rosszabb esetben a táblák megsérülhetnek, ha VACUUM
törli a még nem véglegesített fájlokat. Olyan időközt kell választania, amely hosszabb, mint a leghosszabb ideig futó egyidejű tranzakció, és azt a leghosszabb időtartamot, amelyig bármely stream késhet a tábla legutóbbi frissítéséhez képest.
A Delta Lake biztonsági ellenőrzéssel megakadályozza, hogy veszélyes VACUUM
parancsot futtasson. A Databricks Runtime-ban biztos lehet abban, hogy ezen a táblán nem hajtanak végre olyan műveleteket, amelyek hosszabb időt vesznek igénybe, mint amennyit meg szeretne adni. Ezt a biztonsági ellenőrzést kikapcsolhatja a Spark konfigurációs tulajdonságának spark.databricks.delta.retentionDurationCheck.enabled
false
beállításával.
VACUUM table_name [RETAIN num HOURS] [DRY RUN]
Paraméterek
-
Egy meglévő Delta-táblát azonosít. A név nem tartalmazhat időbeli specifikációt.
RETAIN num HOURS
A megőrzési küszöbérték.
DRY RUN
Legfeljebb 1000 törölendő fájlból álló listát ad vissza.
Nem Delta-tábla vákuuma
Rekurzív módon vákuumozza a nem Delta táblához társított könyvtárakat, és eltávolítja a megőrzési küszöbértéknél régebbi, nem véglegesített fájlokat. Az alapértelmezett küszöbérték 7 nap.
Nem Delta-táblákon az Azure Databricks automatikusan elindítja a VACUUM
műveleteket az adatok írása során.
Syntax
VACUUM table_name [RETAIN num HOURS]
Paraméterek
-
Egy meglévő táblát azonosít név vagy elérési út alapján.
RETAIN num HOURS
A megőrzési küszöbérték.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: