Databricks'te satır izleme

Satır izleme, Azure Databricks tablodaki satır düzeyi kökeni izlemesine olanak tanır. Gerçekleştirilmiş görünümler için bazı artımlı güncellemeler bu özelliği gerektirir.

Tüm Apache Iceberg v3 tabloları satır izleme içerir. Bkz. Apache Iceberg v3 özelliklerini kullanma. Delta Lake tabloları için satır izlemeyi açıkça etkinleştirmeniz gerekir.

Önemli

Satır izleme Databricks Runtime 14.1 ve üzerinde kullanılabilir.

Satır izleme bir tablo özelliğidir ve bazı istemcilerden daha yüksek bir tablo yazıcı protokolü kullanır. Tablo protokolü sürümleri düşürülemez ve satır izleme özelliği etkinleştirilmiş tablolar, tüm etkin yazıcı protokolü tablo özelliklerini desteklemeyen istemciler tarafından yazılamaz. Bkz . Delta Lake özellik uyumluluğu ve protokolleri.

Delta tablolarında satır izlemeyi etkinleştirme

Delta Lake tablosunda satır izlemeyi etkinleştirmek için tablo oluşturma sırasında tablo özelliğini delta.enableRowTracking = true ayarlayın:

CREATE TABLE table_name
TBLPROPERTIES (delta.enableRowTracking = true)
AS SELECT * FROM source_table;

Var olan bir Delta Lake tablosunda satır izlemeyi etkinleştirmek için aşağıdaki örneği kullanın:

ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = true);

Önemli

Varolan tablolarda satır izlemeyi etkinleştirmek, tablodaki tüm mevcut satırlara otomatik olarak satır kimlikleri ve satır işleme sürümleri atar. Bu işlem tablonun birden çok yeni sürümünün oluşturulmasına neden olabilir ve önemli miktarda zaman alabilir.

Tabloyu kopyalamak ayrı bir geçmiş oluşturur, böylece kopyalanan tablolardaki satır kimlikleri ve satır işleme sürümleri özgün tablodakilerle eşleşmez.

Satır izleme meta veri alanlarının şeması nedir?

Satır izleme, tabloya iki gizli meta veri alanı ekler. Değerleri döndürmek için bu alanları sorgunuza açıkça ekleyebilirsiniz.

Sütun adı Type Değerler Açıklama
_metadata.row_id Long Satırın benzersiz tanımlayıcısı. Satır, bir MERGE veya UPDATE deyimi kullanılarak değiştirildiğinde aynı kimliği tutar.
_metadata.row_commit_version Long Satırın son eklendiği veya güncelleştirildiği Delta günlüğü veya tablo sürümü. Her değiştirildiğinde, MERGE veya UPDATE deyimi kullanılarak satıra yeni bir sürüm atanır.

Bazı işlemler işlem günlüğünü kullanarak bu meta veri alanlarını depolar. Satır izleme özelliği etkinleştirilmiş bir tabloda OPTIMIZE veya REORG işlemlerini çalıştırmak, bu alanları depolamak için veri dosyalarını yeniden yazar.

Delta tablolarında satır izlemeyi devre dışı bırakma

Delta Lake tablosunda satır izlemeyi devre dışı bırakmak için tablo özelliğini olarak falseayarlayın.

ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = false);

Önemli

Satır izlemeyi devre dışı bırakmak ilgili tablo özelliğini kaldırmaz ve tablo protokolü sürümünü düşürmez. Ayrıca meta veri alanlarını hedef tablodan kaldırmaz.

Satır izleme devre dışı bırakıldığında, oluşturulan satır kimlikleri artık benzersiz satırları izlemek için güvenilir değildir.

Sınırlamalar

Değişiklik veri akışı okunurken satır kimlikleri ve satır işleme sürümleri meta veri alanlarına erişilemiyor. Bkz. Azure Databricks üzerinde Delta Lake değişiklik veri akışını kullanma.