Aracılığıyla paylaş


Delta tables için satır izlemesini kullan

Delta Lake satır izleme, Azure Databricks'in delta tablesatır düzeyi kökenini izlemesine olanak tanır. Bu özellik, materyalize edilmiş views'in bazı artımlı güncellemeleri için gereklidir.

Önemli

Delta Lake satır izleme, Databricks Runtime 14.1 ve üzerinde kullanılabilir.

Satır izleme bir table özelliğidir ve bazı Delta Lake istemcilerinden daha yüksek bir table yazma protokolü kullanır. Table protokol sürümleri düşürülemez ve satır izleme özelliği etkinleştirilmiş tables, tüm etkin Delta yazıcı protokolü table özelliklerini desteklemeyen Delta Lake istemcileri tarafından yazılamaz. Bkz. Azure Databricks Delta Lake özellik uyumluluğunu nasıl yönetir?.

Satır izlemeyi etkinleştirme

table özelliğini delta.enableRowTracking = trueayarlayarak satır izlemeyi açıkça etkinleştirmeniz gerekir.

Bunu, aşağıdaki örnekte olduğu gibi table oluşturma sırasında yapabilirsiniz:

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

Aşağıdaki örnekte olduğu gibi satır izlemeyi etkinleştirmek için var olan bir table değiştirebilirsiniz:

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

Önemli

Mevcut tables üzerinde satır izlemesini etkinleştirmek, tableiçindeki tüm mevcut satırlara otomatik olarak satır kimlikleri ve satır işleme sürümleri atar. Bu işlem, table birden çok yeni sürümünün oluşturulmasına neden olabilir ve önemli ölçüde zaman alabilir.

Delta table kopyalama işlemi ayrı bir geçmiş oluşturur, böylece kopyalanmış tables satır kimlikleri ve satır işleme sürümleri özgün tableile eşleşmez.

Satır izleme meta veri alanları için schema nedir?

Satır izleme, table'ye iki gizli meta veri alanı ekler. valuesdöndürmek için bu alanları açıkça sorgunuza ekleyebilirsiniz.

Column adı Tür Values Açıklama
_metadata.row_id Uzun Satırın özgün identifier numarası. Satır, bir MERGE veya UPDATE deyimi kullanılarak değiştirildiğinde aynı kimliği tutar.
_metadata.row_commit_version Uzun Satırın son eklendiği veya güncelleştirildiği Delta günlüğü veya table sürümü. Bir veya MERGE deyimi kullanılarak her değiştirildiğinde satıra yeni bir UPDATE 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 table üzerinde OPTIMIZE veya REORG işlemleri çalıştırmak, bu alanları depolamak için veri dosyalarını yeniden yazar.

Satır izlemeyi devre dışı bırakma

table özelliğini falseolarak ayarlayarak satır izlemeyi devre dışı bırakabilirsiniz.

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

Önemli

Satır izlemenin devre dışı bırakılması ilgili table özelliğini remove ve table protokol sürümünü düşürmez. Hedef table'den metadata alanlarını remove yapmaz.

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 kimliklerine ve satır işleme sürümleri meta veri alanlarına erişilemez. Bkz . Azure Databricks'te Delta Lake değişiklik veri akışını kullanma.