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


VACUUM

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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 falsebeállításával.

VACUUM table_name [RETAIN num HOURS] [DRY RUN]

Paraméterek

  • table_name

    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

  • table_name

    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.