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 = true
ayarlayarak 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 false
olarak 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.