Tablo sürümü

Delta tablosu için işlem günlüğü, Delta Lake evrimini destekleyen sürüm bilgileri içerir. Delta Lake, en düşük okuyucu ve yazıcı sürümlerini ayrı ayrı izler.

Delta Lake geriye dönük uyumluluğu garantiler. Daha yüksek bir Databricks Runtime sürümü her zaman daha düşük bir sürüm tarafından yazılan verileri okuyabilir.

Delta Lake zaman zaman uyumluluğu bozacak. Daha düşük Databricks Runtime sürümleri, daha yüksek bir sürüm tarafından yazılan verileri okuma ve yazma Databricks Runtime. Databricks Runtime sürümünün çok düşük olduğu bir tabloyu okumaya ve yazmaya devam ediyorsanız, yükseltmeniz gerek olduğunu söyleyen bir hata alırsınız.

Delta Lake, tablo oluştururken şema veya tablo özellikleri gibi tablo özelliklerine göre gereken en düşük protokol sürümünü seçer. Ayrıca SQL yapılandırmalarını ayarerek varsayılan protokol sürümlerini de değiştirebilirsiniz:

  • spark.databricks.delta.properties.defaults.minWriterVersion = 2 (varsayılan)
  • spark.databricks.delta.properties.defaults.minReaderVersion = 1 (varsayılan)

Bir tabloyu daha yeni bir protokol sürümüne yükseltmek için yöntemini DeltaTable.upgradeTableProtocol kullanın:

Python

from delta.tables import DeltaTable
delta = DeltaTable.forPath(spark, "path_to_table") # or DeltaTable.forName
delta.upgradeTableProtocol(1, 3) # upgrades to readerVersion=1, writerVersion=3

Scala

import io.delta.tables.DeltaTable
val delta = DeltaTable.forPath(spark, "path_to_table") // or DeltaTable.forName
delta.upgradeTableProtocol(1, 3) // upgrades to readerVersion=1, writerVersion=3

Önemli

Protokol yükseltmeleri geri alınamaz, bu nedenle Delta Lake'te yeni özellikleri kabul etmek gibi belirli tabloları yalnızca gerektiğinde yükseltmenizi öneririz.