Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
cloudFiles.cleanSource je dostupný v Databricks Runtime 16.4 a novějších.
Používá cloudFiles.cleanSource se k přesunu nebo mazání souborů ze zdrojového adresáře po jejich zpracování. Odstranění zpracovaných souborů snižuje náklady na ukládání a zkracuje dobu budoucích operací s nabídkami.
| Mode | Description |
|---|---|
OFF (výchozí) |
Soubory ve zdrojovém adresáři nejsou přesouvány ani mazány. |
MOVE |
Soubory ve zdrojovém adresáři jsou přesunuty na cestu určenou po cloudFiles.cleanSource.moveDestination uplynutí doby uchovávání (výchozích 30 dní) definované elaps cloudFiles.cleanSource.retentionDuration . |
DELETE |
Soubory ve zdrojovém adresáři jsou smazány po uplynutí doby uchovávání (výchozích 30 dní) definované uplynutím lhůt.cloudFiles.cleanSource.retentionDuration |
| Další možnost | Výchozí | Platné hodnoty | Description |
|---|---|---|---|
cloudFiles.cleanSource.retentionDuration |
30 days |
Řetězec CalendarInterval, například 14 days, 2 weeksnebo1 month |
Doba čekání, než se zpracované soubory stanou kandidáty na vyčištění s čistým zdrojem. Musí být delší než 7 dní pro DELETE. Žádné minimální omezení pro MOVE. |
cloudFiles.cleanSource.waitForCompletion |
false |
true, false |
Tato možnost je dostupná v Databricks Runtime 19 a vyšších. Čistý zdroj je ve výchozím nastavení operace s nejlepším úsilím. Pokud stream dokončí zpracování souborů dříve, než čistý zdroj dokončí přesun nebo smazání souborů, operace čistého zdroje je ukončena. Nastavení cloudFiles.cleanSource.waitForCompletion nutí stream zůstat naživu, dokud čistý zdroj nedokončí přesun nebo smazání souborů. To může prodloužit dobu běhu streamu, pokud je potřeba smazat hodně souborů.To platí pouze tehdy, když se stream dokončí sám od sebe (například spouštěč, availableNow který vyčerpá všechny soubory). Ruční zastavení nebo zrušení streamu okamžitě ukončí operaci čistého zdroje, i když je tato možnost nastavena. |
cloudFiles.cleanSource.moveDestination |
None | Cesta ke svazku cloudového úložiště nebo katalogu Unity | Cesta k archivování zpracovaných souborů, kam se ukládají, když je cloudFiles.cleanSource nastaveno na MOVE. Může se jednat o cestu ke cloudovému úložišti nebo cestu ke svazku katalogu Unity (například /Volumes/my_catalog/my_schema/my_volume/archive/).Umístění přesunutí musí:
Automatický zavaděč musí mít oprávnění k zápisu do tohoto adresáře. |
Úvahy před umožněním cloudFiles.cleanSource
- Azure Databricks nedoporučuje používat tuto možnost, pokud více streamů spotřebovává data ze stejného zdrojového adresáře. Nejrychlejší stream soubory vyčistí, takže pomalejší streamy je nikdy nepřijmou.
- Povolení této funkce vyžaduje automatické zavaděče, aby zachoval další stav v kontrolním bodu, což způsobuje režii na výkon, ale umožňuje lepší pozorovatelnost prostřednictvím
cloud_files_statefunkce s hodnotou tabulky. Viz tabulkovou funkcicloud_files_state. - Clean source používá aktuální nastavení k rozhodnutí, zda použít
MOVEDELETEdaný soubor. Například předpokládejme, že nastavení byloMOVE, když byl soubor původně zpracován, ale změnilo se naDELETE, když se soubor stal kandidátem na odstranění 30 dní později. V tomto případě soubor smaže čistý zdroj. - Soubory nejsou zaručeny, že se vyčistí, jakmile
cloudFiles.cleanSource.retentionDurationvyprší jeho platnost. Aby byly náklady nízké, Auto Loader čistí soubory současně se zpracováním streamu a ukončuje ho hned, jakmile je zpracování streamu dokončeno nebo ukončeno. Soubory, které byly kandidáty na vyčištění, ale nemohly být vyčištěny během zpracování streamu, se při dalším spuštění Auto Loaderu zachytí.
Poznámky o čistém zdroji
Čistý zdroj běží pouze tehdy, pokud je k dispozici dávka souborů ke zpracování. Není to proces na pozadí, který by běžel nezávisle na požití. Pokud nejsou žádné nové soubory k ingestování ve zdrojovém adresáři, čistý zdroj se pro aktuální stream run nespustí. Pokud tedy proud přestane přijímat nové soubory, soubory, které již překročily dobu uchovávání, nejsou vymazány, dokud nejde o další spuštění toku s novou dávkou.
Tento požadavek na dávku platí bez ohledu na .
cloudFiles.cleanSource.waitForCompletionTato možnost udržuje stream naživu jen tak dlouho, aby se dokončilo probíhající úklid během jednoho běhu. Nespustí čistý zdroj, pokud není dávka ke zpracování.Pokud je soubor přijat při N-tém běhu proudu, pro
commit_timesoubor je nastaven na N+1 běh proudu.commit_timemusí být nastaveno dříve, než čistý zdroj může určit, zda je soubor způsobilý k přesunu nebo smazání, takže nejdříve se soubor může stát kandidátem na vyčištění, je N+2 stream run.Prostředí
commit_timeje nutné, ale nestačí. Soubor se čistí pouze poté, co uplyne doba jeho uchovávání, měřeno od jehocommit_time. Například při výchozícloudFiles.cleanSource.retentionDuration30 dnech není dnes zpracovaný soubor způsobilý k vyčištění dříve než 30 dní pocommit_timejeho nastavení. To platí bez ohledu na to, kolik potoků se mezi tím uskuteční. Obě podmínky musí být splněny před přesunem nebo smazáním souboru.