Aracılığıyla paylaş


Azure Databricks Delta Lake özellik uyumluluğunu nasıl yönetir?

Delta Lake, Linux Foundation idaresi altında bağımsız bir açık kaynak projesidir. Databricks, Databricks Runtime sürümlerinde Delta Lake'i temel alarak geliştirilen yeni Delta Lake özellikleri ve iyileştirmeleri için destek sunar.

Delta Lake özelliklerinden yararlanan Azure Databricks iyileştirmeleri, uyumluluk için OSS Delta Lake'te kullanılan protokollere uygundur.

Birçok Azure Databricks iyileştirmesi için bir tabloda Delta Lake özelliklerinin etkinleştirilmesi gerekir. Delta Lake özellikleri her zaman geriye dönük olarak uyumludur, bu nedenle daha düşük bir Databricks Runtime sürümü tarafından yazılan tablolar her zaman daha yüksek bir Databricks Runtime sürümü tarafından okunabilir ve yazılabilir. Bazı özelliklerin etkinleştirilmesi, daha düşük bir Databricks Runtime sürümünde çalışan iş yükleriyle uyumluluğu bozar. İleriye dönük uyumluluğu bozan özellikler için, uyumlu bir Databricks Runtime sürümünü kullanmak için yükseltilen tablolara başvuran tüm iş yüklerini güncelleştirmeniz gerekir.

Not

Azure Databricks'te deletionVectors, v2Checkpoint, columnMapping, typeWidening-previewve collations-preview bırakabilirsiniz. Delta tablosu özelliklerini kaldırma.

Önemli

Tüm protokol değiştirme işlemleri 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.

Hangi Delta Lake özellikleri Databricks Runtime yükseltmeleri gerektirir?

Aşağıdaki Delta Lake özellikleri, ileriye dönük uyumluluğu bozar. Özellikler tablo bazında etkinleştirilir. Bu tabloda Azure Databricks tarafından hala desteklenen en düşük Databricks Runtime sürümü listelenmektedir.

Özellik Databricks Runtime sürümünü veya daha yenisini gerektirir. Belgeler
CHECK Kısıtlar Databricks Runtime 9.1 LTS Azure Databricks'da CHECK kısıtlaması ayarlama
Veri akışını değiştirme Databricks Runtime 9.1 LTS Azure Databricks'te Delta Lake değişiklik veri akışını kullanma
Oluşturulan sütunlar Databricks Runtime 9.1 LTS Delta Lake tarafından oluşturulan sütunlar
Sütun eşleştirme Databricks Runtime 10.4 LTS Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve silme
Kimlik sütunları Databricks Runtime 10.4 LTS Delta Lake'te kimlik sütunlarını kullanma
Tablo özellikleri Databricks Runtime 12.2 LTS Tablo özellikleri nelerdir?
Silme vektörleri Databricks Runtime 12.2 LTS Silme vektörleri nedir?
Zaman DamgasıNTZ Databricks Runtime 13.3 LTS TIMESTAMP_NTZ tür
UniForm Databricks Runtime 13.3 LTS Iceberg istemcileriyle Delta tablolarını okuma
Sıvı kümeleme Databricks Runtime 13.3 LTS Delta tabloları için sıvı kümeleme kullanma
Satır izleme Databricks Runtime 14.1 Delta tabloları için satır izlemeyi kullanma
Tür genişletme Databricks Runtime 15.2 Tür genişletme
Varyant Databricks Runtime 15.3 Delta Lake'te varyant desteği
Sıralamalar Databricks Runtime 16.1 Delta Lake için Sıralama desteği

Bkz Databricks Runtime sürüm notları, sürümler ve uyumluluk.

Not

DLT ve Databricks SQL, yeni özellikleri desteklemek için çalışma zamanı ortamlarını düzenli sürümlerle otomatik olarak yükseltmektedir. bkz. DLT sürüm notları ve sürüm yükseltme işlemi ve Databricks SQL sürüm notlarını.

Tablo protokolü belirtimi nedir?

Her Delta tablosunun, tablonun desteklediği özellik kümesini gösteren bir protokol belirtimi vardır. Protokol belirtimi, tabloyu okuyan veya yazan uygulamalar tarafından tablonun desteklediği tüm özellikleri işleyebileceklerini belirlemek için kullanılır. Bir uygulama, tablonun protokolünde desteklenen olarak listelenen bir özelliğin nasıl işleneceğini bilmiyorsa, bu uygulama bu tabloyu okuyamaz veya yazamaz.

Protokol belirtimi iki bileşene ayrılır: okuma protokolü ve yazma protokolü.

Uyarı

Çoğu protokol sürüm yükseltmesi geri döndürülemez ve protokol sürümünü yükseltmek mevcut Delta Lake tablo okuyucularını, yazarlarını veya her ikisini birden etkileyebilir. Databricks, delta Lake'teki yeni özelliklere katılma gibi belirli tabloları yalnızca gerektiğinde yükseltmenizi önerir. Ayrıca tüm geçerli ve gelecekteki üretim araçlarınızın yeni protokol sürümüyle Delta Lake tablolarını desteklediğinden emin olmanız gerekir.

Bazı özellikler için protokol seviyelerini düşürme kullanılabilir. Bakınız: Delta tablosu özelliklerinin kaldırılması.

Protokolü okuma

Okuma protokolü, bir tablonun desteklediği ve bir uygulamanın tabloyu doğru okumak için anlaması gereken tüm özellikleri listeler. Tablonun okuma protokolünü yükseltmek için tüm okuyucu uygulamalarının eklenen özellikleri desteklemesi gerekir.

Önemli

Delta tablosuna yazan tüm uygulamaların tablonun anlık görüntüsünü oluşturabilmesi gerekir. Bu nedenle, Delta tablolarına yazan iş yüklerinin hem okuyucu hem de yazıcı protokol gereksinimlerine uyması gerekir.

Azure Databricks'te bir iş yükü tarafından desteklenmeyen bir protokolle karşılaşırsanız, bu protokolü destekleyen daha yüksek bir Databricks Runtime'a yükseltmeniz gerekir.

Yazma protokolü

Yazma protokolü, bir tablonun desteklediği ve bir uygulamanın tabloya doğru yazabilmek için anlaması gereken tüm özellikleri listeler. Tablonun yazma protokolünü yükseltmek için tüm yazıcı uygulamalarının eklenen özellikleri desteklemesi gerekir. Bu durum, okuma protokolü de yükseltilmediği sürece salt okunur uygulamaları etkilemez.

Hangi protokoller yükseltilmelidir?

Bazı özellikler hem okuma protokollerini hem de yazma protokollerini yükseltmeyi gerektirir. Diğer özellikler yalnızca yazma protokollerini yükseltmeyi gerektirir.

Örneğin, CHECK kısıtlamaları için destek bir yazma protokolü özelliğidir: yalnızca yazma uygulamalarının CHECK kısıtlamalar hakkında bilgi sahibi olması ve bunları uygulaması gerekir.

Buna karşılık, sütun eşlemesi hem okuma hem de yazma protokollerini yükseltmeyi gerektirir. Veriler tabloda farklı depolandığından, okuyucu uygulamalarının verileri doğru okuyabilmeleri için sütun eşlemesini anlaması gerekir.

Asgari okuyucu ve yazıcı sürümleri

Not

Sütun eşlemeyi etkinleştirirken tablo protokolü sürümünü açıkça yükseltmeniz gerekir.

Bir tabloda Delta özelliklerini etkinleştirdiğinizde, tablo protokolü otomatik olarak yükseltilir. Databricks, minReaderVersion ve minWriterVersion tablo özelliklerinin değiştirilmesini önermemektedir. Bu tablo özelliklerinin değiştirilmesi protokol yükseltmesini engellemez. Bu değerlerin daha düşük bir değere ayarlanması tabloyu düşürmez. Bkz. Delta tablosu özelliklerini bırakma.

Tablo özellikleri nelerdir?

Databricks Runtime 12.2 LTS ve üzeri sürümlerde Delta Lake tablosu özellikleri, belirli bir tablo tarafından hangi özelliklerin destekleneceğini belirten ayrıntılı bayraklar sunar. Databricks Runtime 11.3 LTS ve altında, Delta Lake özellikleri protokol sürümleri olarak adlandırılan paketlerde etkinleştirildi. Tablo özellikleri, protokol sürümlerinin yerini alan özelliklerdir ve Delta Lake'i okuyan ve yazan istemcilere daha fazla esneklik sağlamak amacıyla tasarlanmıştır. Bkz. Protokol sürümü nedir?.

Not

Tablo özelliklerinin protokol sürümü gereksinimleri vardır. Bkz. Protokol sürümüne göre özellikler.

Delta tablosu özelliği, tablonun belirli bir özelliği desteklediğini gösteren bir işaretçidir. Her özellik bir yazma protokolü özelliğidir (yani yalnızca yazma protokollerini yükselter) veya bir okuma/yazma protokolü özelliğidir (özelliği etkinleştirmek için hem okuma hem de yazma protokollerinin yükseltileceği anlamına gelir).

Delta Lake'te desteklenen tablo özellikleri hakkında daha fazla bilgi edinmek için bkz. Delta Lake protokolü.

Tablo özellikleri Delta Lake özelliklerinin etkinleştirilme şeklini değiştirir mi?

Delta tablolarıyla yalnızca Azure Databricks aracılığıyla etkileşimde bulunuyorsanız, en düşük Databricks Runtime gereksinimlerini kullanarak Delta Lake özellikleri desteğini izlemeye devam edebilirsiniz. Azure Databricks, tablo tarafından kullanılan tüm özellikler bu sürüm tarafından desteklendiği sürece tüm Databricks Runtime LTS sürümlerinde tablo özelliklerine yükseltilmiş Delta tablolarının okunmasını destekler.

Diğer sistemleri kullanarak Delta tablolarını okur ve yazarsanız, sistemin yükseltilen protokol sürümlerini anlamama riski olduğundan tablo özelliklerinin uyumluluğu nasıl etkilediğini düşünmeniz gerekebilir.

Önemli

Tablo özellikleri, yazar sürüm 7 ve okuyucu sürüm 3 için Delta Lake biçimine sunulmuştur. Azure Databricks, tablo özelliklerine yönelik destek eklemek için desteklenen tüm Databricks Runtime LTS sürümlerine kod geri aktarmıştır, ancak yalnızca bu Databricks Runtime'nde zaten desteklenen özellikler içindir. Bu, oluşturulan sütunları etkinleştirmek ve Databricks Runtime 9.1 LTS'de bu tablolarla çalışmaya devam etmek için tablo özelliklerini kullanmayı tercih edebilirsiniz ancak kimlik sütunları etkinleştirilmiş (Databricks Runtime 10.4 LTS gerektirir) tabloların bu Databricks Runtime'da hala desteklenmediği anlamına gelir.

Protokol sürümü nedir?

Protokol sürümü, tablo özelliklerinin belirli bir gruplandırma işlemini gösteren bir protokol numarasıdır. Databricks Runtime 11.3 LTS ve altında tablo özelliklerini tek tek etkinleştiremezsiniz. Protokol sürümleri bir özellik grubu paketler.

Delta tabloları, okuma protokolü ve yazma protokolü için ayrı bir protokol sürümü belirtir. Delta tablosunun işlem günlüğü, Delta Lake evrimini destekleyen protokol sürüm oluşturma bilgilerini içerir. Delta Lake tablo ayrıntılarını gözden geçirin bölümüneaçıklamalarıyla bakın.

Protokol sürümleri, önceki protokollerdeki tüm özellikleri paketler. Bkz. Protokol sürümüne göre özellikler.

Not

Yazar sürüm 7 ve okuyucu sürüm 3'den başlayarak Delta Lake, tablo özellikleri kavramını kullanıma sunulmuştur. Tablo özelliklerini kullanarak artık yalnızca veri ekosisteminizdeki diğer istemciler tarafından desteklenen özellikleri etkinleştirmeyi seçebilirsiniz. Bkz. Tablo özellikleri nelerdir?.

Protokol sürümüne göre özellikler

Aşağıdaki tabloda Delta Lake özellikleri için gereken en düşük protokol sürümleri gösterilmektedir.

Not

Yalnızca Databricks Runtime uyumluluğuyla ilgileniyorsanız bkz . Hangi Delta Lake özellikleri Databricks Runtime yükseltmeleri gerektirir?. Delta Sharing yalnızca minReaderVersion = 1gerektiren özelliklere sahip tabloların okunmasını destekler.

Özellik minWriterVersion minReaderVersion Belgeler
Temel işlevsellik 2 1 Delta Lake nedir?
CHECK Kısıtlamalar 3 1 Azure Databricks'da CHECK kısıtlaması ayarlama
Veri akışını değiştirme 4 1 Azure Databricks'te Delta Lake değişiklik veri akışını kullanma
Oluşturulan sütunlar 4 1 Delta Lake oluşturulan sütunlar
Sütun eşleştirme 5 2 Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve silme
Kimlik sütunları 6 2 Delta Lake'te kimlik sütunlarını kullanma
Tablo özelliklerini oku 7 1 Tablo özellikleri nelerdir?
Tablo özelliklerini yazma 7 3 Tablo özellikleri nelerdir?
Satır izleme 7 1 Delta tabloları için satır izlemeyi kullanma
Silme vektörleri 7 3 Silme vektörleri nedir?
Zaman DamgasıNTZ 7 3 TIMESTAMP_NTZ tür
Sıvı kümeleme 7 3 Delta tabloları için sıvı kümeleme kullanma
UniForm 7 2 Iceberg istemcileriyle Delta tablolarını okuma
Tür genişletme 7 3 Tür genişletme
Varyant 7 3 Delta Lake'te varyant desteği
Sıralamalar 7 3 Delta Lake için Harmanlama desteği