Delta tablosu özelliklerini bırakma
Önemli
Delta tablosu özelliklerini bırakma ve protokol sürümlerini düşürme desteği Databricks Runtime 14.1 ve üzeri sürümlerde Genel Önizleme aşamasındadır.
Azure Databricks, tablo özelliklerini bırakmak için sınırlı destek sağlar. Tablo özelliğini bırakmak için aşağıdakilerin gerçekleşmesi gerekir:
- Tablo özelliğini kullanan tablo özelliklerini devre dışı bırakın.
- Tablo özelliğinin tüm izlemelerini, tabloyu yedekleyerek veri dosyalarından kaldırın.
- tablo özelliğini kullanan işlem girişlerini işlem günlüğünden kaldırın.
- Tablo protokollerini düşür.
Destekleniyorsa, bu işlevi yalnızca önceki Databricks Runtime sürümleri, Delta Sharing veya diğer Delta Lake okuyucu veya yazıcı istemcileriyle uyumluluğu desteklemek için kullanmalısınız.
Önemli
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. Akışın devam etmesi için akışı yeniden başlatmanız gerekir. Önerilen yöntemler için bkz . Yapılandırılmış Akış için üretimde dikkat edilmesi gerekenler.
Delta tablosu özelliğini nasıl bırakabilirim?
Delta tablosu özelliğini kaldırmak için bir ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY]
komut çalıştırırsınız. Bkz. ALTER TABLE.
Databricks Runtime 14.1 veya üzerini kullanmanız ve hedef Delta tablosunda ayrıcalıklara sahip MODIFY
olmanız gerekir.
Hangi Delta tablosu özellikleri bırakılabilir?
Aşağıdaki Delta tablosu özelliklerini bırakabilirsiniz:
deletionVectors
. Bkz . Silme vektörleri nedir?.v2Checkpoint
. Bkz. Sıvı kümeleme ile tablolar için uyumluluk.columnMapping
. Bkz . Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma.typeWidening-preview
. Bkz. Tür genişletme.checkConstraints
. Bkz. Azure Databricks'te kısıtlamalar.
Diğer Delta tablosu özelliklerini bırakamazsınız.
Eski özellikleri bırakmak için tablo özelliklerini etkinleştirme
komutu, DROP FEATURE
tablo özelliğinin okuma ve yazmalarını destekleyen protokol sürümlerini gerektirir. ve checkConstraints
gibi columnMapping
delta özellikleri önceki protokol sürümlerinde destekleniyordu. Tabloda etkinleştirilen diğer özelliklere bağlı olarak, bu özellikleri bırakmadan önce protokol sürümlerini yükseltmeniz gerekebilir.
Sütun eşlemesini bırakmanızı ve protokolü düşürmenizi sağlayan tablo okuyucu ve yazıcı sürümlerini yükseltmek için aşağıdaki komutu kullanabilirsiniz:
ALTER TABLE <table-name> SET TBLPROPERTIES (
'delta.minReaderVersion' = '3',
'delta.minWriterVersion' = '7'
)
Delta tablosu özellikleri nasıl bırakılır?
Delta tablosu özellikleri okuyucu ve yazıcı protokollerini temsil ettiğinden, bunların tam kaldırma için işlem günlüğünde tamamen bulunmaması gerekir. Bir özelliğin bırakılabilmesi iki aşamada gerçekleşir ve tamamlanmadan önce geçmesi gerekir. Özellik kaldırmanın özellikleri özelliğe göre farklılık gösterir, ancak aşağıdaki bölümde genel bir genel bakış sağlanır.
Tablo özelliğini bırakmaya hazırlanma
İlk aşamada, kullanıcı tablo özelliğini bırakmaya hazırlanır. Bu aşamada neler olduğu aşağıda açıklanmaktadır:
- Kullanıcı komutunu çalıştırır
DROP FEATURE
. - Özellikle bir tablo özelliğini etkinleştiren tablo özellikleri, özelliği devre dışı bırakmak için ayarlanmış değerlere sahiptir.
- Bırakılan özellikle ilişkili davranışları denetleye tablo özellikleri, özellik kullanılmadan önce varsayılan değerlere ayarlanmış seçeneklere sahiptir.
- Gerektiğinde, güncelleştirilmiş tablo özelliklerine göre veri ve meta veri dosyaları yeniden yazılır.
- Komutun çalışması tamamlanır ve kullanıcıya özellik kaldırma işlemine devam etmek için 24 saat beklemesi gerektiğini bildiren bir hata iletisi döndürür.
Bir özelliği ilk kez devre dışı bırakdıktan sonra, protokolü düşürmeyi tamamlamadan önce hedef tabloya yazmaya devam edebilirsiniz, ancak kaldırdığınız tablo özelliğini kullanamazsınız.
Not
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 anlamayan Delta istemcileri tarafından okunamaz.
Protokolü düşürme ve tablo özelliğini bırakma
Tablo özelliğini bırakmak için özellikle ilişkili tüm işlem geçmişini kaldırmanız ve protokolü düşürmeniz gerekir.
- En az 24 saat geçtikten sonra, kullanıcı komutu yan tümcesiyle
DROP FEATURE
TRUNCATE HISTORY
yeniden yürütür. - İstemci, belirtilen bekletme eşiğindeki hiçbir işlemin tablo özelliğini kullanmadığını onaylar, ardından tablo geçmişini bu treshold'a kısaltır.
- Protokol düşürülerek tablo özelliği bırakılıyor.
- Tabloda bulunan tablo özellikleri eski bir protokol sürümüyle gösteriliyorsa,
minReaderVersion
veminWriterVersion
tablosu delta tablosu tarafından kullanılan kalan tüm özellikleri destekleyen en düşük sürüme düşürülebilir.
Önemli
Ç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. Delta tablosu özelliğini bıraktıktan sonra tablo geçmişine veya zaman yolculuğuna erişiminiz olmaz.
Bkz. Azure Databricks Delta Lake özellik uyumluluğunu nasıl yönetir?.