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.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime
Tablo dizininden kullanılmayan dosyaları kaldırma.
Not
Bu komut Delta, Apache Spark veya Apache Iceberg tablosu üzerinde çalışmanıza bağlı olarak farklı çalışır.
Delta tablosunu vakumlama
Delta tablosuyla ilişkili dizinleri yinelemeli olarak vakumlar. Tüm ayrıntılar ve sınırlamalar için bkz. Kullanılmayan veri dosyalarını vakumla kaldırma.
VACUUM Delta tarafından yönetilmeyen tablo dizininden tüm dosyaları ve artık tablo için işlem günlüğünün en son durumunda olmayan ve bekletme eşiğinden daha eski olan veri dosyalarını kaldırır.
VACUUM alt çizgi (_) ile başlayan tüm dizinleri, _delta_log öğesini içerenler dahil, atlar. Tablonuzun alt çizgiyle başlayan bir sütunda bölümlenmesi bu kural için bir özel durumdur; VACUUM hedef Delta tablosuna dahil edilen tüm geçerli bölümleri tarar. Delta tablosu veri dosyaları, depolama sistemindeki değişiklik zaman damgalarına değil Delta'nın işlem günlüğünden mantıksal olarak kaldırılma zamanına ve bekletme saatlerine göre silinir. Varsayılan eşik değeri 7 gündür.
Delta tablosunda çalıştırırsanız VACUUM , belirtilen veri saklama süresinden daha eski bir sürüme zaman yolculuğu yapma becerisini kaybedersiniz.
Tahmine dayalı iyileştirme etkinleştirilirse Azure Databricks, iyileştirme işleminin VACUUM bir parçası olarak işlemi otomatik olarak tetikler. Çoğu durumda el ile çalıştırmanız VACUUM gerekmez.
Uyarı
Databricks, en az 7 günlük bir bekletme aralığı ayarlamayı kesinlikle önerir. Birkaç gün çalışan işleriniz varsa, uzun süre çalışan işler henüz işlenmeyen dosyalar yazabilir. Bekletme süreniz çok kısaysa, VACUUM iş tamamlanmadan önce bu kaydedilmemiş dosyaları silebilir.
Delta Lake tehlikeli bir komut çalıştırmanızı önlemek için bir VACUUM güvenlik denetimine sahiptir. Databricks Runtime'da, bu tabloda belirtmeyi planladığınız bekletme aralığından daha uzun süren işlemler gerçekleştirilmediğinden emin olduğunuzda, Spark yapılandırma özelliğini spark.databricks.delta.retentionDurationCheck.enabledfalse olarak ayarlayarak bu güvenlik denetimini kapatabilirsiniz.
Apache Iceberg tablosunu temizleme
Apache Iceberg tablosuyla ilişkili dizinlerden başvurulmayan dosyaları yinelemeli olarak kaldırır. Saklama süresi 7 günde sabittir.
Tahmine dayalı iyileştirme etkinleştirilirse Azure Databricks, iyileştirme işleminin VACUUM bir parçası olarak işlemi otomatik olarak tetikler. Çoğu durumda el ile çalıştırmanız VACUUM gerekmez.
Sözdizimi
VACUUM table_name { { FULL | LITE } | DRY RUN } [...]
Parametreler
-
Var olan bir Delta tablosunu tanımlar. Ad bir zamansal belirtim veya seçenek belirtimi içermemelidir.
DRY RUNSilinecek en fazla 1000 dosya listesini döndürür.
FULLveyaLITEŞunun için geçerlidir:
Databricks SQL
Databricks Runtime 16.1 ve üstüFULLvakum işlemini Tam modda çalıştırır. Bu, veri dosyalarını bekletme süresinin dışında ve tablo dizinindeki tablo tarafından başvurulmayan tüm dosyaları siler.LITELite modunda vakum işlemini çalıştırır.VACUUM, tablo dizinindeki tüm dosyaları bulmak yerine delta işlem günlüğünü kullanarak bekletme süresi içinde hiçbir tablo sürümü tarafından başvurulmayan dosyaları tanımlar ve kaldırır. Delta günlüğü budandığı içinVACUUM LITEtamamlanamıyorsa DELTA_CANNOT_VACUUM_LITE istisnası oluşturulur.Varsayılan değer
FULL.
Önemli
VACUUM komutunun bekletme penceresi, varsayılan olarak 7 gün olan delta.deletedFileRetentionDuration tablo özelliği tarafından belirlenir.
Bu, son 7 gün içinde Delta tablosu sürümü tarafından artık başvurulamayacak veri dosyalarının kaldırıldığı anlamına gelir VACUUM .
Verileri daha uzun süreler boyunca tutmak için (örneğin, daha uzun süreler boyunca zaman yolculuğu desteği sağlamak için) bu tablo özelliğini daha yüksek bir değere ayarlayın.
Aşağıdaki örnekte bu eşiğin 30 gün olarak ayarlanması gösterilmektedir:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Diğer tabloları vakumla
Delta olmayan ve Iceberg olmayan tablolarla ilişkili dizinleri yinelemeli olarak temizler ve belirlenmiş bekletme süresinden daha eski olan kaydedilmemiş dosyaları kaldırır. Varsayılan eşik değeri 7 gündür.
Bu tablolarda Azure Databricks, veriler yazıldıkçe işlemleri otomatik olarak tetikler VACUUM .
Sözdizimi
VACUUM table_name
Parametreler
-
Var olan bir tabloyu ada veya yola göre tanımlar.