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.
Delta Lake tablo protokolleri, bir istemcinin tabloyu okumak veya yazmak için hangi özellikleri desteklemesi gerektiğini belirtir. Bu sayfa protokol sürümlerini, tablo özelliklerini, uyumluluk gereksinimlerini ve Azure Databricks protokol yükseltmelerini nasıl yönettiğini kapsar. Ayrıca bkz . Açıklama ayrıntılarıyla tablo ayrıntılarını gözden geçirme.
Tablo protokolü ve uyumluluk
Her Delta Lake tablosunun, tablodan okumak ve tabloya yazmak için gereken yetenek kümesini gösteren bir protokol belirtimi vardır. Uygulamalar, tablonun kullandığı tüm özellikleri destekleyebileceklerini belirlemek için protokol belirtimini kullanır. Bir uygulama tablonun geçerli protokolündeki bir özelliği destekleyemezse, bu uygulama bu tabloyu okuyamaz veya yazamaz.
Delta Lake'in çoğu yeni özelliği, tablo protokollerini yükseltmenizi gerektirir.
Aşağıdaki tabloda Delta Lake protokollerini açıklayan önemli terimler listelanmaktadır:
| Süre | Description |
|---|---|
| Delta Lake istemcisi | Delta Lake tablosunu okuyan veya bu tabloya yazan herhangi bir sistem. |
| Protokolü okuma | Delta Lake istemcisinin tabloyu okuması için gereken desteği belirtir. |
| Yazma protokolü | Delta Lake istemcisinin tabloya yazması için gereken desteği belirtir. |
minReaderVersion |
Okuyucu protokolünün tamsayı değeri. Geçerli değerler 1, 2veya 3. |
minWriterVersion |
Yazıcı protokolünün tamsayı değeri. Geçerli değerler aracılığıyla 2tamsayılardır7. |
| Tablo özelliği | = 3 ve minReaderVersion = 7 olduğunda minWriterVersion kullanılan protokol sürümlerine ayrıntılı bir alternatif. Tablo özellikleri isteğe bağlı etkinleştirilebilen Delta Lake özellikleriyle eşleşir. |
| Yazar özelliği | Yazma istemcisi desteği gerektiren ancak salt okunur erişimi engellemeyen bir tablo özelliği. |
| Okuyucu özelliği | Hem okuma hem de yazma istemcisi desteği gerektiren bir tablo özelliği. Bkz . Protokol sürümleri ve tablo özellikleri. |
Yazma protokolleri ve yazıcı özellikleri yalnızca yazıcı istemcileriyle uyumluluğu etkileyerek eski iş yüklerinden tabloya salt okunur erişim sağlar.
Delta Lake özelliklerinin tümü birbiriyle uyumlu değildir.
Bazı tablo özellikleri etkinleştirildikten sonra bırakılamaz. Bkz . Delta Lake tablosu özelliğini bırakma ve tablo protokolünü düşürme.
Protokol sürümleri ve tablo özellikleri
Tüm Delta Lake tabloları ve minReaderVersionile minWriterVersion temsil edilen tamsayı tabanlı bir protokol sürümü içerir. Her sürüm birden çok özelliği birlikte paketlemektedir ve özellikler sürümler arasında birikmelidir. Delta Lake protokolüne uymak için istemcilerin, daha önce yayımlanan tüm özellikler de dahil olmak üzere belirli bir sürümdeki tüm özellikler için destek uygulaması gerekir.
Databricks Runtime 12.2 LTS ve üzeri sürümlerin tablo özellikleri , tamsayı tabanlı protokolü bir tablonun hangi özellikleri kullandığını gösteren ayrıntılı bayraklarla değiştirir. Bu, istemciler ve tablolar arasında daha ayrıntılı uyumluluk denetimleri yapılmasını sağlar.
Tablo yazıcı özellikleri , verilerin yazılma biçimini etkiler. Okuyucu istemcilerini gerektirir minWriterVersion=7 ancak engellemez.
Tablo okuyucu özellikleri , verilerin okunma şeklini etkiler. Tüm okuyucu özellikleri de yazıcı özellikleridir ve ve minReaderVersion=3gerektirirminWriterVersion=7. İstemci, okuyamıyor olduğu bir tabloya yazamaz.
Tablo özellikleri etkinleştirildiğinde, protokolde veya readerFeaturesolarak writerFeatures görünür. Delta Lake, tablo protokolünü tüm etkin özellikleri destekleyen en düşük sürüme çözümler. Bkz. Mümkün olan en düşük protokol.
Note
Azure Databricks, desteklenen tüm Databricks Runtime sürümlerinde tablo özellikleri için kesintisiz kısmi destek içerir. OSS Delta Lake istemcileri, belirli özellikler için desteğin nasıl uygulaneceğini seçer.
Protokol değişiklikleri
Bir tablonun protokolü aşağıdaki koşullar altında değişir:
- Yeni bir özellik etkinleştirilirse protokol yükseltilir.
- Bir tablo özelliği bırakılırsa protokol düşürülmüş olur.
Bir tablo özelliğinin kapatılması protokolün düşürülmesiyle sonuçlanmaz. Özelliği protokolden tamamen kaldırmak için bırakmanız gerekir. Tüm tablo özellikleri bırakılamaz. Bkz . Delta Lake tablosu özelliğini bırakma ve tablo protokolünü düşürme.
Tüm protokol değiştirme işlemleri 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. Devam etmek için etkilenen akışları yeniden başlatın. Önerilen yöntemler için bkz Yapılandırılmış Akış Üretimi için Dikkat Edilmesi Gereken Hususlar.
Note
Databricks, ve minReaderVersion tablo özelliklerini hiçbir zaman doğrudan değiştirmenizi minWriterVersion önerir. Bu özelliklerin değiştirilmesi protokol yükseltmelerini engellemez ve bunları daha düşük bir değere ayarlamak tabloyu düşürmez. Bkz . Delta Lake tablosu özelliğini bırakma ve tablo protokolünü düşürme.
Protokol yükseltmeyi tetikleyenler
Bir özelliği etkinleştirdiğinizde, tablo protokolü otomatik olarak yükseltilir.
Protokol yükseltmeleri aşağıdaki yollarla tetiklenir:
- veya
CREATEdeyimlerindeALTERkullanılan söz dizimine göre otomatik olarak etkinleştirin. Örneğin,CLUSTER BYbirCREATE TABLEdeyiminde sıvı kümeleme otomatik olarak etkinleştirir veGENERATED ALWAYS ASoluşturulan sütunları etkinleştirir. - Tablo özellikleri aracılığıyla açıkça etkinleştirin. Örneğin, ayarı
'delta.enableDeletionVectors' = truesilme vektörlerini etkinleştirir. - Bir özelliğin etkinleştirilmesi, gerekli özellikleri otomatik olarak etkinleştirebilir. Örneğin, Iceberg okumalarını etkinleştirmek otomatik olarak sütun eşlemesini etkinleştirir ve sıvı kümeleme otomatik olarak kontrol noktası V2'yi etkinleştirir. Belirli bir özelliğin hangi tablo özelliklerini gerektirdiğini belirlemek için ilgili Azure Databricks belgelerini gözden geçirin.
Okuyucu özellikleri hem okuma hem de yazma protokollerini yükseltmektedir. Örneğin, sütun eşleme bir okuyucu özelliğidir ve veriler depolama alanında farklı depolandığından her iki protokolün de yükseltilmesi gerekir.
Kısıtlamalar gibi CHECK yazıcı özellikleri yalnızca yazma protokollerini yükseltin.
Warning
Çoğu protokol sürümü yükseltmesi geri alınamaz ve mevcut Delta Lake tablo okuyucularını, yazarlarını veya her ikisini birden bozabilir. Belirli tabloları yalnızca gerektiğinde yükseltin ve tüm geçerli ve gelecekteki üretim araçlarının yeni protokol sürümünü desteklediğini doğrulayın.
Bazı özellikler için protokol seviyelerini düşürme kullanılabilir. Bkz . Delta Lake tablosu özelliğini bırakma ve tablo protokolünü düşürme.
Mümkün olan en düşük protokol
Delta Lake, tablo protokolünü tüm etkin özellikleri destekleyen en düşük sürüme çözümler. Bu yalnızca veya 'yi düşürebilir minReaderVersionminWriterVersionve hiçbir zaman yükseltmez. Tablo özellikleri hiçbir zaman otomatik olarak kaldırılmaz. Protokolden tablo özelliğini kaldırmak için kullanın DROP FEATURE .
Tüm etkin özellikler daha düşük tamsayı tabanlı bir protokol sürümünde tam olarak destekleniyorsa, tablo bu sürüme geri dönebilir ve protokolden çıkabilir readerFeatures veya writerFeatures bırakabilirsiniz. Bu işlem hiçbir özelliği devre dışı bırakmaz. Tüm istemcilerin bunlara saygı göstermesi gerektiğinden düşük protokol sürümleri uyumluluğu artırır.
Azure Databricks ve Databricks Runtime uyumluluğu
Azure Databricks, Databricks Runtime sürümlerindeki yeni Delta Lake özellikleri için destek sunar:
- Daha düşük bir Databricks Runtime sürümü tarafından yazılan tablolar, daha yüksek Databricks Runtime sürümlerinde tam okuma ve yazma desteğine sahiptir.
- Daha yüksek bir Databricks Runtime sürümü tarafından yazılan tablolar, düşük Databricks Runtime sürümlerinde desteklenmeyen tablo özelliklerini kullanabilir.
- Bazı özellikler, etkin özellik için tüm iyileştirmeleri tam olarak uygulamadan düşük Databricks Runtime sürümlerinden yazma işlemlerine izin verir.
Delta Lake tablolarını yalnızca Azure Databricks aracılığıyla kullanıyorsanız, en düşük Databricks Runtime gereksinimlerini kullanarak özellik desteğini izlemeniz yeterlidir. Dış sistemlerden tabloları okur veya yazarsanız, bu istemcilerin tablolarınızda etkinleştirilen tablo özelliklerini desteklediğini doğrulamanız gerekir.
Geri aktarılan tablo özelliği desteği
Databricks Runtime 12.2 LTS ve üzerinde tablo özellikleri , tamsayı tabanlı protokolün yerini tablonun hangi özellikleri kullandığını gösteren ayrıntılı bayraklarla değiştirdi.
Azure Databricks yalnızca tamsayı protokolü sürümlerini desteklemek yerine databricks runtime 11.3 LTS ve altına yönelik geri aktarılan tablo özelliği desteğine sahiptir, ancak yalnızca bu sürümde zaten desteklenen özellikler için geçerlidir.
Örneğin, Databricks Runtime 9.1 LTS'deki tablo özelliklerini kullanarak oluşturulan sütunların etkinleştirildiği bir tablodan okuyabilir ve tabloya yazabilirsiniz. Ancak, kimlik sütunları Databricks Runtime 10.4 LTS ve üzerini gerektirdiğinden, tablo özelliklerini kullanarak kimlik sütunları etkinleştirilmiş bir tablodan okumak ve tabloya yazmak için Databricks Runtime 9.1 LTS'yi kullanamazsınız.
Geri aktarılan destekle tablo özellikleri kullanılırken, belirli bir Databricks Runtime sürümünde kullanılabilen bazı işlemler ilgili OSS Delta Lake sürümünde kullanılamayabilir. Mimariniz OSS Delta Lake istemcileri içeriyorsa, üretim tablolarında tablo özelliklerini etkinleştirmeden önce uyumluluğu test edin.
Delta Lake özellikleri ve gerekli Databricks Runtime sürümleri
Aşağıdaki tabloda her özellik için tam desteğe sahip en düşük Databricks Runtime sürümü listelenmektedir; böylece hem okuma hem de yazma işlemleri için genel olarak kullanılabilen tüm özellikler desteklenmektedir.
| Feature | Databricks Runtime sürümünü veya daha yenisini gerektirir. | Documentation |
|---|---|---|
CHECK Kısıtlar |
Desteklenen tüm Databricks Runtime sürümleri |
CHECK Kısıtlama |
| Veri akışını değiştir | Desteklenen tüm Databricks Runtime sürümleri | Azure Databricks değişiklik veri akışını kullanma |
| Oluşturulan sütunlar | Desteklenen tüm Databricks Runtime sürümleri | Delta Lake tarafından oluşturulan sütunlar |
| Sütun eşlemesi | Desteklenen tüm Databricks Runtime sürümleri | Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve silme |
| Kimlik sütunları | Desteklenen tüm Databricks Runtime sürümleri | Kimlik sütunları |
| Tablo özellikleri | Desteklenen tüm Databricks Runtime sürümleri | Protokol sürümleri ve tablo özellikleri |
| Silme vektörleri | Desteklenen tüm Databricks Runtime sürümleri | Databricks'te silme vektörleri |
| TimestampNTZ | Databricks Runtime 13.3 LTS |
TIMESTAMP_NTZ tür |
| Iceberg okuyor | Databricks Runtime 13.3 LTS | Iceberg istemcileri ile Delta Lake tablolarını okuma |
| Sıvı kümeleme | Databricks Runtime 13.3 LTS | Tablolar için sıvı kümeleme kullanma |
| Satır takibi | Databricks Runtime 14.3 LTS sürümü | Azure Databricks satır izleme |
| Veri türü genişletme | Databricks Runtime 15.4 LTS | Tür genişletme |
| Variant | Databricks Runtime 15.4 LTS | Apache Iceberg ve Delta Lake için değişken türü desteği |
| Sıralamalar | Databricks Çalışma Zamanı 16.1 | Delta Lake için Sıralama desteği |
| Korumalı denetim noktaları | Databricks Runtime 16.3 | Delta Lake tablo özelliğini bırakma ve tablo protokolünü düşürme |
| Katalog taahhütleri | Databricks Runtime 16.4 LTS | Katalog taahhütleri |
Bkz Databricks Runtime sürüm notlarının versiyonları ve uyumluluğu.
Note
Lakeflow işlem hatları ve Databricks SQL, yeni özellikleri desteklemek için çalışma zamanı ortamlarını normal sürümlerle otomatik olarak yükseltmektedir. Bkz . Lakeflow işlem hatları sürüm notları, sürüm yükseltme işlemi ve Databricks SQL sürüm notları.
Protokol sürümüne göre özellikler
Note
Databricks Runtime uyumluluğu için bkz. Azure Databricks ve Databricks Runtime uyumluluğu.
Delta Lake, protokol özelliklerini belirtmek için ayrı minReaderVersion ve minWriterVersion değerleri kullanır. Açık kaynak Delta Lake protokolü tablo özelliklerinde standartlaştırıldı, ancak bazı istemciler eski protokol sürümünü kullanmaya devam ediyor. Bazı istemciler tüm özellikleri desteklemeyebileceği için Databricks, üretim tablolarında yeni özellikleri etkinleştirmeden önce istemci belgelerinizle doğrulamanızı ve uyumluluğu test etmenizi önerir.
Apache Iceberg, ayrı okuyucu ve yazar sürümleri yerine tek format-version bir sürüm kullanır. Iceberg biçimli sürüm, hangi özelliklerin kullanılabilir olduğunu gösterir ancak bunların kullanılmasını zorunlu yapmaz. Sürüm 3'te zorunlu olan satır izleme dışında, özellikler isteğe bağlıdır. Bir özellik Iceberg sütununda Yok değerini gösterdiğinde, doğrudan Iceberg eşdeğeri olmayan Delta'ya özgü bir özelliktir.
Aşağıdaki tabloda Delta Lake ve Apache Iceberg tablo özellikleri için protokol sürümü gereksinimleri listelenmiştir. Özellik türü, bir özelliğin yalnızca yazma işlemleri için mi yoksa hem okuma hem de yazma işlemleri için mi dikkate alınması gerektiğini gösterir.
| Feature | Delta minWriterVersion |
Delta minReaderVersion |
Buzdağı format-version |
Özellik türü |
|---|---|---|---|---|
| Temel işlevsellik | 2 | 1 | 1 | Yazar |
CHECK Kısıtlamalar |
3 | 1 | N/A | Yazar |
| Veri akışını değiştirme | 4 | 1 | N/A | Yazar |
| Oluşturulan sütunlar | 4 | 1 | N/A | Yazar |
| Sütun haritalama | 5 | 2 | N/A | Okuyucu ve yazar |
| Kimlik sütunları | 6 | 1 | N/A | Yazar |
| Satır izleme | 7 | 1 | 3 | Yazar |
| Silme vektörleri | 7 | 3 | 3 | Okuyucu ve yazar |
| Zaman DamgasıNTZ | 7 | 3 | 1 | Okuyucu ve yazar |
| Sıvı kümeleme | 7 | 3 | 1 | Okuyucu ve yazar (1) |
| Iceberg okuyor | 7 | 2 | N/A | Yazıcı (2) |
| Tür genişletme | 7 | 3 | N/A | Okuyucu ve yazar |
| Varyant | 7 | 3 | 3 | Okuyucu ve yazar |
| Değişken parçalama | 7 | 3 | 3 | Okuyucu ve yazar |
| Sıralamalar | 7 | 3 | N/A | Okuyucu ve yazar |
| Korumalı denetim noktaları | 7 | 1 | N/A | Yazar |
| Katalog taahhütleri | 7 | 3 | N/A | Okuyucu ve yazar |