Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
cloudFiles.cleanSource finns tillgänglig i Databricks Runtime 16.4 och uppåt.
Använd cloudFiles.cleanSource för att flytta eller ta bort filer från källkatalogen efter att de har behandlats. Att ta bort processade filer minskar lagringskostnaderna och förkortar varaktigheten av framtida listningsoperationer.
| Mode | Description |
|---|---|
OFF (standardinställning) |
Filerna i källkatalogen flyttas eller raderas inte. |
MOVE |
Filerna i källkatalogen flyttas till den sökväg som anges av cloudFiles.cleanSource.moveDestination efter lagringstiden (standard 30 dagar) definierad av cloudFiles.cleanSource.retentionDuration elapses. |
DELETE |
Filerna i källkatalogen raderas efter lagringstiden (standard 30 dagar) definierad av cloudFiles.cleanSource.retentionDuration elapses. |
| Ytterligare alternativ | Standardinställning | Giltiga värden | Description |
|---|---|---|---|
cloudFiles.cleanSource.retentionDuration |
30 days |
En CalendarInterval-sträng som 14 days, 2 weekseller 1 month |
Tiden att vänta innan behandlade filer blir kandidater för sanering med ren källa. Måste vara längre än 7 dagar för DELETE. Ingen minsta begränsning för MOVE. |
cloudFiles.cleanSource.waitForCompletion |
false |
true, false |
Detta alternativ finns tillgängligt i Databricks Runtime 19 och uppåt. Ren källkod är per automatik en bästa insats. Om strömmen slutför bearbetningen av filer innan ren källkod är klar med att flytta eller radera filer, avslutas operationen med rensad källkod. Inställningen cloudFiles.cleanSource.waitForCompletion tvingar strömmen att förbli levande tills ren källkod är klar med att flytta eller radera filer. Detta kan öka strömmens körtid om det finns många filer att radera.Detta gäller bara när strömmen slutförs av sig själv (till exempel en availableNow trigger som tömmer alla filer). Att manuellt stoppa eller avbryta strömmen avslutar omedelbart cleansource-operationen, även när detta alternativ är inställt. |
cloudFiles.cleanSource.moveDestination |
None | En molnlagrings- eller Unity Catalog-volymsökväg | Sökväg för att arkivera bearbetade filer när cloudFiles.cleanSource är inställt på MOVE. Det kan vara en molnlagringssökväg eller en volymsökväg för Unity Catalog (till exempel /Volumes/my_catalog/my_schema/my_volume/archive/).Flyttplatsen måste:
Automatisk inläsare måste ha skrivbehörighet till den här katalogen. |
Överväganden innan möjliggörande cloudFiles.cleanSource
- Azure Databricks rekommenderar inte att använda detta alternativ när flera strömmar konsumerar data från samma källkatalog. Den snabbaste strömmen rensar filerna, så de långsammare strömmarna tar aldrig in dem.
- För att aktivera den här funktionen krävs att Auto Loader behåller ytterligare tillstånd i sin kontrollpunkt, vilket medför prestandakostnader men möjliggör förbättrad observerbarhet via
cloud_files_statefunktionen tabellvärde. Secloud_files_statetabellvärdesfunktion. - Clean source använder den aktuella inställningen för att avgöra om det ska eller
MOVEDELETEen given fil. Anta till exempel att inställningen varMOVEnär filen ursprungligen bearbetades men ändrades tillDELETEnär filen blev kandidat för rensning 30 dagar senare. I detta fall raderar ren källkod filen. - Filer garanteras inte att rensas så snart de
cloudFiles.cleanSource.retentionDurationupphör att gälla. För att hålla kostnaderna låga rensar Auto Loader filer samtidigt som strömbearbetningen och avslutar så snart strömbehandlingen är klar eller avslutas. Filer som var kandidater för rensning, men som inte kunde rensas under strömbearbetningen, plockas upp nästa gång Auto Loader körs.
Anteckningar om ren källa
Ren källkod körs bara om det finns en batch filer att bearbeta. Det är inte en bakgrundsprocess som sker oberoende av intag. Om det inte finns några nya filer att inge i källkatalogen startar inte ren källkod för den aktuella strömkörningen. Som ett resultat, om en ström slutar ta emot nya filer, rensas filer som redan passerat sin lagringstid inte förrän en senare ström kör en ny batch.
Detta batchkrav gäller oavsett .
cloudFiles.cleanSource.waitForCompletionDet alternativet håller bara streamen vid liv tillräckligt länge för att avsluta en pågående rensning inom en genomspelning. Den startar inte ren källa när det inte finns någon batch att bearbeta.Om en fil hämtas under den n:te strömkörningen sätts för
commit_timefilen på N+1-strömkörningen.commit_timemåste ställas in innan ren källkod kan avgöra om en fil är berättigad att flytta eller radera, så det tidigaste en fil kan bli kandidat för rensning är N+2 strömkörningen.Miljön
commit_timeär nödvändig men inte tillräcklig. En fil rensas endast när dess lagringstid har förflutit, mätt från desscommit_time. Till exempel, med standardencloudFiles.cleanSource.retentionDuration30 dagar, är en fil som behandlas idag inte berättigad till rensning förrän 30 dagar efter att dencommit_timesatts. Detta gäller oavsett hur många bäckrunder som sker däremellan. Båda villkoren måste vara uppfyllda innan filen flyttas eller raderas.