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.
Databricks Runtime 16.4 LTS ve üzeri sürümlerde Delta DROP FEATURE Lake tablo özelliğini kaldırır ve tablo protokolunu kalan özellikleri destekleyen en düşük sürüme düşürer. Bunu yalnızca önceki Databricks Runtime sürümleri, OpenSharing veya dış Delta Lake istemcileriyle uyumluluğu geri yüklemek için kullanın.
Tüm özellikler bırakılamaz. Bkz. Desteklenen tablo özellikleri.
Note
Eski destek DROP FEATURE için Databricks Runtime 14.3 LTS'den itibaren kullanılabilir. Databricks, eski davranışın yerini alan tüm DROP FEATURE komutlar için Databricks Runtime 16.3 ve üzerini kullanmanızı önerir. Eski işlevlerin belgeleri için bkz. Delta tablosu özelliklerini bırakma (eski).
Delta Lake özelliğini bırakma
Important
Tüm DROP FEATURE işlemler tüm eşzamanlı yazma işlemleriyle çakışıyor.
Akış okumaları, tablo meta verilerini değiştiren bir işlemeyle karşılaştıklarında başarısız olur. Etkilenen akışları yeniden başlatmanız gerekir. Önerilen yöntemler için bkz Yapılandırılmış Akış Üretimi için Dikkat Edilmesi Gereken Hususlar.
Databricks Runtime 16.3 veya üzerini kullanmanız ve hedef Delta Lake tablosunda ayrıcalıklara sahip MODIFY olmanız gerekir. Her DROP FEATURE komutla yalnızca bir tablo özelliğini bırakabilirsiniz.
Tablo özelliğini bırakmak için aşağıdaki söz dizimini kullanın:
ALTER TABLE <table-name> DROP FEATURE <feature-name>
Daha fazla bilgi için bkz. ALTER TABLE.
Behavior
Bir tablo özelliğini bıraktığınızda Delta Lake, tabloya atomik olarak aşağıdaki değişiklikleri işler:
- Tablo özelliğini kullanan tablo özelliklerini kapatın.
- Geçerli tablo sürümünden tablo özelliğinin tüm izlerini kaldırmak için temel veri dosyalarını gerektiğinde yeniden yazın.
- Okuyucu istemcilerinin tablo geçmişini doğru okumasına olanak sağlayan korumalı denetim noktaları kümesi oluşturun.
- Tablo protokolüne yazıcı tablosu özelliğini
checkpointProtectionekleyin. - Tablo protokolünü, kalan tüm tablo özelliklerini destekleyen en düşük okuyucu ve yazıcı sürümlerine düşürme. Bkz. Mümkün olan en düşük protokol.
checkpointProtection Tablo özelliği
Bir özelliği bıraktığınızda Delta Lake, protokolün düşüşünü dikkate almak için tablonun geçmişindeki verileri ve meta verileri korumalı denetim noktaları olarak yeniden yazar.
Sürüm düşürme işleminden sonra tablo, istemcilerin çıkarılan özelliği desteklemesini gerektirmez. Korumalı denetim noktaları ve checkpointProtection özellik aşağıdakileri gerçekleştirir:
- Bırakılan tablo özelliğini destekleyen okuyucu istemcileri tüm kullanılabilir tablo geçmişi sürümlerini okuyabilir.
- Bırakılan özelliği desteklemeyen okuyucu istemcileri, protokolün sürüm düşürme sürümünden ileriye doğru tablo geçmişi sürümlerini okuyabilir.
- Yazıcı istemcileri, protokol düşürmeden önce oluşturulan denetim noktalarını değiştirmez.
-
checkpointProtectionprotokol düşürme denetim noktalarını korumalı olarak işaretler ve tablo bakım işlemleri bu işaretlere uyar.
Her DROP FEATURE komutla yalnızca bir tablo özelliğini bırakabilirsiniz ancak tablonun tablo geçmişinde birden çok korumalı denetim noktası ve bırakılan özellikler olabilir.
Tüm Databricks Runtime sürümleri tablo özelliğini desteklercheckpointProtection, yani bu tablo özelliği Azure Databricks'de okumaları veya yazmaları engellemez.
checkpointProtection, OSS Delta Lake istemcilerinden gelen salt okunur erişimi engellemez. Tabloyu tamamen indirgemek ve checkpointProtection tablosu özelliğini kaldırmak için TRUNCATE HISTORY kullanmanız gerekir. Databricks, yalnızca checkpointProtection desteği olmayan harici Delta istemcileriyle tablolara yazmanız gerekiyorsa bu yaklaşımın kullanılmasını önerir. Bkz. Eski istemciler için tablo protokollerini tam olarak düşürme.
Desteklenen tablo özellikleri
Aşağıdaki Delta Lake tablosu özelliklerini bırakabilirsiniz:
-
catalogManaged. Bakınız Katalog taahhütleri. -
checkConstraints. Bkz. Azure Databricks'te kısıtlamalar. -
collations-preview. Delta LakeiçinSıralama desteğine bakın. -
columnMapping. Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın. -
deletionVectors. Bkz . Databricks'te silme vektörleri. -
typeWidening. Bkz. Tür genişletme. -
v2Checkpoint. Bkz. Klasik sürüme düşürme. -
checkpointProtection. Bkz.checkpointProtectiontablo özelliği.
Diğer Delta Lake tablo özelliklerini bırakamazsınız.
Important
Databricks, üretim verileri için okuyucu veya yazıcı protokollerini yükselten özellikleri etkinleştirmeden önce bağımlı iş yüklerini ve sistemleri yeni özelliklerle uyumluluk açısından her zaman test etmenizi önerir.
Aşağıdakileri göz önünde bulundurun:
- Tablodaki sütun eşlemesi bırakıldığında, bölümlenmiş tablolar için dizin adlarında kullanılan rastgele ön ekler kaldırılmaz. Bkz . Delta Lake ve Parquet bölümleme stratejilerini paylaşıyor mu?.
- Bazı Delta Lake özellikleri birbirine bağımlı olan ve bağımlı özellikleri bırakmanızı engelleyebilecek birden çok tablo özelliğini etkinleştirir. Kaldırılamayan özellikleri geri alamazsınız.
Eski istemciler için tablo protokollerini tamamen düşürme
checkpointProtection tablo özelliğini desteklemeyen yazmalarla harici Delta Lake istemcileri kullanıyorsanız, tablo protokolünü tam olarak eski sürüme düşürmek ve kaldırılan tablo özelliklerinin tüm izlerini silmek için TRUNCATE HISTORY kullanmanız gerekir. Çalıştırma TRUNCATE HISTORY , 24 saatten eski tüm tablo geçmişini kaldırır.
Databricks, TRUNCATE HISTORY çalıştırmadan önce DROP FEATURE için varsayılan davranışı test etmenizi önerir.
Tam sürüm düşürme işlemi, en az 24 saat arayla iki adım gerektirir.
1. Adım: Tablo özelliğini bırakmaya hazırlanma
ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY komutunu çalıştırın. komutu aşağıdakileri uygular:
- Özelliği kapatmak için tablo özelliklerini güncelleştirir.
- Özelliğin ilişkili tablo özelliklerini varsayılan değerlerine sıfırlar.
- Güncelleştirilmiş özellikleri yansıtmak için gerektiğinde verileri ve meta veri dosyalarını yeniden yazar.
- Protokolün düşürülmesini tamamlamak için yeniden çalıştırmadan önce en az 24 saat beklemenizi gerektiren bir ileti döndürür.
Bir özelliği kapattıktan sonra protokol düşürmeyi tamamlamadan önce hedef tabloya yazmaya devam edebilirsiniz, ancak kaldırdığınız tablo özelliğini kullanamazsınız.
Note
Tabloyu bu durumda bırakırsanız, tabloya yönelik işlemler tablo özelliğini kullanmaz, ancak protokol yine de tablo özelliğini destekler. Son sürüm düşürme adımını tamamlayana kadar tablo, tablo özelliğini desteklemeyen Delta istemcileri tarafından okunamaz.
2. Adım: Protokolü düşürme ve tablo özelliğini bırakma
En az 24 saat sonra komutunu yeniden çalıştırın ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY . komutu aşağıdakileri uygular:
- Tablo geçmişini bekletme eşiğine kadar kısaltır.
- Kalan hiçbir işlemin bu özelliği kullanmadığını onaylar.
- Özelliği bırakır ve tablo protokolunu kalan özellikleri destekleyen en düşük sürüme düşürür.
Important
Çalıştırma ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY , 24 saatten eski tüm işlem günlüğü verilerini kaldırır. Tablo protokollerini düşürmek için bu komutu kullandıktan sonra tablo geçmişine veya zaman yolculuğuna erişemezsiniz.