Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Note
cloudFiles.cleanSource is beschikbaar in Databricks Runtime 16.4 en hoger.
Gebruik cloudFiles.cleanSource om bestanden uit de bronmap te verplaatsen of te verwijderen nadat ze zijn verwerkt. Het verwijderen van verwerkte bestanden verlaagt opslagkosten en verkort de duur van toekomstige vermeldingsoperaties.
| Wijze | Description |
|---|---|
OFF (standaard) |
De bestanden in de bronmap worden niet verplaatst of verwijderd. |
MOVE |
De bestanden in de bronmap worden na de door bepaalde bewaarduur (standaard 30 dagen) door elapses naar cloudFiles.cleanSource.retentionDuration het pad gespecificeerdcloudFiles.cleanSource.moveDestination. |
DELETE |
De bestanden in de bronmap worden verwijderd na de bewaartijd (standaard 30 dagen) die door cloudFiles.cleanSource.retentionDuration elapses is gedefinieerd. |
| Aanvullende optie | Default | Geldige waarden | Description |
|---|---|---|---|
cloudFiles.cleanSource.retentionDuration |
30 days |
Een CalendarInterval-tekenreeks zoals 14 days, 2 weeksof 1 month |
Tijd om te wachten voordat verwerkte bestanden kandidaten worden voor schoonmaak met een schone bron. Moet langer zijn dan 7 dagen voor DELETE. Geen minimale beperking voor MOVE. |
cloudFiles.cleanSource.waitForCompletion |
false |
true, false |
Deze optie is beschikbaar in Databricks Runtime 19 en hoger. Clean source is standaard een best-effort operatie. Als de stream bestanden heeft verwerkt voordat de schone bron bestanden heeft verplaatst of verwijderd, wordt de schone bron-operatie beëindigd. Door het instellen cloudFiles.cleanSource.waitForCompletion moet de stream actief blijven totdat de schone bron klaar is met het verplaatsen of verwijderen van bestanden. Dit kan de looptijd van de stream verlengen als er veel bestanden verwijderd moeten worden.Dit geldt alleen wanneer de stream vanzelf wordt voltooid (bijvoorbeeld een availableNow trigger die alle bestanden leegt). Door de stream handmatig te stoppen of te annuleren, wordt de clean source-operatie onmiddellijk beëindigd, zelfs als deze optie is ingesteld. |
cloudFiles.cleanSource.moveDestination |
None | Een cloudopslag- of Unity Catalog-volumepad | Pad waarnaar verwerkte bestanden moeten worden gearchiveerd wanneer cloudFiles.cleanSource is ingesteld op MOVE. Dit kan een cloudopslagpad of een Unity Catalog-volumepad zijn (bijvoorbeeld /Volumes/my_catalog/my_schema/my_volume/archive/).De locatie voor verplaatsen moet:
Auto Loader moet schrijfmachtigingen hebben voor deze map. |
Overwegingen voorafgaand aan het inschakelen cloudFiles.cleanSource
- Azure Databricks raadt deze optie niet aan te gebruiken wanneer meerdere stromen data uit dezelfde bronmap verbruiken. De snelste stream ruimt de bestanden op, dus de langzamere streams nemen ze nooit op.
- Voor het inschakelen van deze functie moet automatisch laden de extra status in het controlepunt behouden, wat prestatieoverhead oplevert, maar verbeterde waarneembaarheid mogelijk maakt via de
cloud_files_statefunctie met tabelwaarde. Ziecloud_files_statetabelwaardefunctie. - Clean source gebruikt de huidige instelling om te beslissen of het een bepaald bestand moet zijn
MOVEDELETE. Stel dat de instelling wasMOVEtoen het bestand oorspronkelijk werd verwerkt, maar werd gewijzigd inDELETEtoen het bestand 30 dagen later een kandidaat werd voor het opschonen. In dit geval verwijdert een schone bron het bestand. - Bestanden worden niet gegarandeerd opgeschoond zodra het
cloudFiles.cleanSource.retentionDurationverloopt. Om de kosten laag te houden, ruimt Auto Loader bestanden gelijktijdig op met streamverwerking en beëindigt zodra de streamverwerking is voltooid of beëindigd. Bestanden die geschikt waren voor opruiming, maar niet konden worden opgeschoond tijdens de streamverwerking, worden de volgende keer dat Auto Loader draait, opgepikt.
Notities over schone bron
Schone bron draait alleen als er een batch bestanden verwerkt moet worden. Het is geen achtergrondproces dat onafhankelijk van inname verloopt. Als er geen nieuwe bestanden zijn om in te voeren in de bronmap, start de schone bron niet voor de huidige streamrun. Als gevolg daarvan, als een stream stopt met het ontvangen van nieuwe bestanden, worden bestanden die hun retentieduur al hebben bereikt pas opgeschoond nadat een latere stream een nieuwe batch verwerkt.
Deze batchvereiste geldt ongeacht
cloudFiles.cleanSource.waitForCompletion. Die optie houdt de stream alleen lang genoeg in leven om een lopende schoonmaak binnen een run af te ronden. Het start geen schone bron als er geen batch is om te verwerken.Als een bestand wordt ingevoerd tijdens de N-de streamrun, wordt de
commit_timefor the file ingesteld op de N+1 streamrun.commit_timemoet worden ingesteld voordat de schone bron kan bepalen of een bestand geschikt is voor verplaatsing of verwijdering, dus het vroegst dat een bestand kandidaat kan worden voor opruiming de N+2 stream run is.Setting
commit_timeis noodzakelijk, maar niet voldoende. Een bestand wordt pas schoongemaakt nadat de retentieduur is verstreken, gemeten aan de hand van zijncommit_time. Bijvoorbeeld, met de standaardcloudFiles.cleanSource.retentionDurationvan 30 dagen komt een bestand dat vandaag is verwerkt pas in aanmerking voor opruiming na 30 dagen nadat hetcommit_timeis ingesteld. Dit geldt ongeacht hoeveel stroomverloop er tussendoor plaatsvindt. Aan beide voorwaarden moet voldaan zijn voordat het bestand wordt verplaatst of verwijderd.