Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Note
cloudFiles.cleanSource Databricks Runtime 16.4 ve üzeri sürümlerde mevcuttur.
İşlendikten sonra kaynak dizininden dosyaları taşımak veya silmek için kullanılır cloudFiles.cleanSource . İşlenen dosyaların kaldırılması, depolama maliyetlerini azaltır ve gelecekteki listeleme işlemlerinin süresini kısaltır.
| Mode | Description |
|---|---|
OFF (varsayılan) |
Kaynak dizinindeki dosyalar taşınmaz veya silinmez. |
MOVE |
Kaynak dizinindeki dosyalar, geçiş süresiyle belirlenen tutma süresinden (varsayılan 30 güncloudFiles.cleanSource.retentionDuration) sonra belirlenen cloudFiles.cleanSource.moveDestination yola taşınır. |
DELETE |
Kaynak dizinindeki dosyalar, gecikmelerle tanımlanan cloudFiles.cleanSource.retentionDuration tutma süresinden (varsayılan 30 gün) sonra silinir. |
| Ek seçenek | Varsayılan | Geçerli değerler | Description |
|---|---|---|---|
cloudFiles.cleanSource.retentionDuration |
30 days |
, veya gibi 14 days2 weeks dizesi1 month |
İşlenen dosyaların temizlik için aday olması için bekleme süresi.
DELETE için 7 günden uzun olmalıdır.
MOVE için en düşük kısıtlama yoktur. |
cloudFiles.cleanSource.waitForCompletion |
false |
true, false |
Bu seçenek, Databricks Runtime 19 ve üzerindedir. Temiz kaynak varsayılan olarak en iyi çaba gerektiren bir işlemdir. Akış, dosyaları temiz kaynak taşıma veya silme bitmeden önce dosyaları işlemeyi tamamlarsa, temiz kaynak işlemi sonlandırılır. Ayar, cloudFiles.cleanSource.waitForCompletion temiz kaynak dosyaları taşımak veya silmek bitene kadar akışı canlı kalmasını zorunlu kılıyor. Bu, silinecek çok sayıda dosya varsa yayın çalışma süresini artırabilir.Bu sadece akış kendi kendine tamamlandığında geçerlidir (örneğin, bir availableNow tetikleyici tüm dosyaları boşaltıyor). Akışı manuel olarak durdurmak veya iptal etmek, bu seçenek ayarlanmış olsa bile temiz kaynak işlemini hemen sonlandırır. |
cloudFiles.cleanSource.moveDestination |
Hiçbiri | Bulut depolama alanı veya Unity Kataloğu birim yolu |
cloudFiles.cleanSource
MOVE olarak ayarlandığında işlenen dosyaların arşivleneceği yol. Bu bir bulut depolama yolu veya Unity Kataloğu birim yolu (örneğin, /Volumes/my_catalog/my_schema/my_volume/archive/) olabilir.Taşıma konumu:
Otomatik Yükleyici bu dizinde yazma izinlerine sahip olmalıdır. |
Etkinleştirilmeden önce Hususlar cloudFiles.cleanSource
- Azure Databricks, aynı kaynak dizininden birden fazla akış veri tükettiğinde bu seçeneğin kullanılmasını önermez. En hızlı akış dosyaları temizler, bu yüzden yavaş akışlar onları asla almıyor.
- Bu özelliğin etkinleştirilmesi için Otomatik Yükleyici'nin denetim noktasında ek durum koruması gerekir ve bu da performans ek yüküne neden olur ancak tablo değerli işlev aracılığıyla
cloud_files_stateiyileştirilmiş gözlemlenebilirlik sağlar. Bakınızcloud_files_statetablo değerli fonksiyon. - Clean source, mevcut ayarla karar vermek için
MOVEkullanılır veDELETEbelirli bir dosyayı seçer. Örneğin, ayarınMOVEdosyanın ilk işlendiği zaman olduğunu, ancak 30 gün sonra dosya temizleme adayı olduğunda olarak değiştirildiğiniDELETEvarsayalım. Bu durumda, temiz kaynak dosyayı siler. - Dosyaların süresi dolduğunda temizlenmeleri
cloudFiles.cleanSource.retentionDurationgaranti edilmemektedir. Maliyetleri düşük tutmak için Auto Loader, akış işleme ile eşzamanlı olarak dosyaları temizler ve akış işleme tamamlandığında veya sonlandırıldığında sonlandırır. Temizleme adaylığı olan ancak akış işleme sırasında temizlenemeyen dosyalar, bir sonraki Auto Loader çalıştığında alınır.
Temiz kaynak hakkında notlar
Clean Source sadece işlenmesi gereken bir dizi dosya varsa çalışır. Bu, tüketimden bağımsız olarak çalışan bir arka plan süreci değildir. Kaynak dizininde yeni dosya alınmıyorsa, mevcut akış çalıştırma için temiz kaynak başlamaz. Sonuç olarak, bir akış yeni dosya almayı durdurursa, saklama süresini geçmiş dosyalar ancak sonraki bir akış yeni bir toplu işlemi işlene kadar temizlenir.
Bu parti gereksinimi her ne olursa
cloudFiles.cleanSource.waitForCompletionolsun geçerlidir. Bu seçenek, yayını sadece bir koşu içinde devam eden bir temizliği tamamlamak için canlı tutuyor. İşleme yapılacak bir parti olmadığında temiz kaynak başlatmaz.N. akış yayınında bir dosya alınırsa,
commit_timedosya için dosya N+1 akış koşusunda ayarlanır.commit_timeClean Source dosyanın taşınabilir veya silmeye uygun olup olmadığını belirleyebilmeden önce ayarlanmalıdır, böylece bir dosya temizlik için aday olabilecek en erken N+2 akış koşusudur.Ortam
commit_timegerekli ama yeterli değil. Bir dosya, saklanma süresi dolduktan sonra temizlenir ve bu işlem ölçülürcommit_time. Örneğin, varsayılancloudFiles.cleanSource.retentionDuration30 gün olduğunda, bugün işlenen bir dosya ayarlandıktan 30 güncommit_timesonra temizlenmeye uygun değildir. Bu, arada kaç dere akışı olursa olsun geçerlidir. Her iki koşul da dosya taşınmadan veya silinmeden önce yerine getirilmelidir.