REORG TABLOSU
Şunlar için geçerlidir: Databricks SQL Databricks Runtime 11.3 LTS ve üzeri
ALTER TABLE DROP COLUMN tarafından bırakılan sütun verileri gibi geçici olarak silinen verileri temizlemek için dosyaları yeniden yazarak Delta Lake tablosunu yeniden organize edin.
Sözdizimi
REORG TABLE table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
Not
APPLY (PURGE)
yalnızca geçici olarak silinen verileri içeren dosyaları yeniden yazar.APPLY (UPGRADE)
tüm dosyaları yeniden yazabilir.REORG TABLE
aynı veri kümesinde iki kez çalıştırılırsa ikinci çalıştırmanın hiçbir etkisi olmayacağı anlamına gelir.- çalıştırdıktan
APPLY (PURGE)
sonra geçici olarak silinen veriler eski dosyalarda bulunmaya devam edebilir. Eski dosyaları fiziksel olarak silmek için VACUUM'u çalıştırabilirsiniz.
Parametreler
-
Var olan bir Delta tablosunu tanımlar. Ad bir zamansal belirtim içermemelidir.
WHERE
Yüklemiiçin
APPLY (PURGE)
, belirtilen bölüm koşuluyla eşleşen dosyaları yeniden düzenler. Yalnızca bölüm anahtarı özniteliklerini içeren filtreler desteklenir.APPLY (PURGE)
Dosya yeniden yazmanın amacının geçici olarak silinen verileri temizlemek olduğunu belirtir. Verilerin yeniden yazılmasını zorlamak için bkz. Yalnızca meta veri silmelerini temizleme.
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
Şunlar için geçerlidir: Databricks Runtime 14.3 ve üzeri
Dosya yeniden yazmanın amacının tabloyu verilen Iceberg sürümüne yükseltmek olduğunu belirtir.
version
veya2
olmalıdır1
.
Örnekler
> REORG TABLE events APPLY (PURGE);
> REORG TABLE events WHERE date >= '2022-01-01' APPLY (PURGE);
> REORG TABLE events
WHERE date >= current_timestamp() - INTERVAL '1' DAY
APPLY (PURGE);
> REORG TABLE events APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));