Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Akış tablosunun tam yenilemesi, mevcut tüm verileri ve meta verileri atar ve akışı baştan yeniden başlatır. Özellikle akış tablosunu kısaltır, tüm denetim noktası verilerini kaldırır ve tabloya yazılan her akış için yeni denetim noktalarıyla akış işlemini yeniden başlatır. Bu sayfada ne zaman tam yenileme çalıştırmanız gerekebileceği ve tam yenileme çalıştırmanın etkisi açıklanır. Ayrıca tam yenilemeler ile ilgili en iyi yöntemleri içerir.
Tam yenileme tetikleme hakkında yönergeler için bkz. İşlem hattı güncelleştirmesi çalıştırma.
Veri kaynakları üzerindeki etki
Tam yenileme, akış tablosundaki tüm mevcut verileri kaldırır. Veri kaynağınızda bekletme sınırları varsa (örneğin, kısa saklama sürelerine sahip Kafka konuları), tam yenilemeden sonra bazı geçmiş veriler kurtarılamaz hale gelebilir.
Örneğin, kaynağınız 24 saatlik saklama süresine sahip Kafka ise ve bu pencereden sonra tam yenileme çalıştırırsanız, eski iletiler artık kullanılamaz ve yeniden işlenemez.
Uyarı
Yüksek hacimli akış iş yükleri için veya yukarı akış saklama geçmiş verilerin yeniden oynatılmasını önlediğinde tam yenilemeler önerilmez.
Akış tablosunda bağımlı aşağı akış tabloları varsa, akış tablosunda skipChangeCommits etkinleştirilmediği sürece işlem hattı, bu tablolar da tamamen yenilenene kadar başarısız olur. Alt akış maddileştirilmiş görünümlerin de tamamen yenilenmesi gerekir.
Tam yenileme ne zaman çalıştırılır?
Lakeflow Spark Bildirimli İşlem Hatlarında tam yenilemeler açıkça tetiklenmelidir. İşlem hattı kullanıcı arabiriminde Tam Yenileme'ye tıklayarak veya Lakeflow Connect'te otomatik tam yenilemeyi etkinleştirerek tam yenileme çalıştırabilirsiniz.
Değişiklikler akış sorgusunu mevcut denetim noktasından güvenli bir şekilde sürdürmeyi önlediğinde veya daha önce işlenen veriler güncelleştirilmiş mantık, şema veya kaynak yapılandırmasıyla tutarsız hale geldiğinde tam yenileme önerilir. Aşağıdaki bölümlerde yaygın senaryolar açıklanmaktadır.
Şema değişiklikleri
Hedef tablodaki aşağıdaki şema değişiklikleri geriye dönük olarak uyumlu değildir ve tam yenileme gerektirir:
- Sütun eşleme modu etkinleştirilmeden sütunları yeniden adlandırma.
- Yinelenenleri kaldırma sütunlarını değiştir.
- Sütun veri türlerini değiştirme, örneğin:
- Tür daraltma (örneğin,
BIGINT → INTveyaDOUBLE → FLOAT). - Uyumsuz tür değişiklikleri (örneğin,
STRING → INT).
- Tür daraltma (örneğin,
- Tablo şemasından sütunların sabit silinmesi.
Bu tür şema değişiklikleri için Databricks, istenen şema veya ada sahip yeni bir sütun oluşturmanızı ve ardından eski ve yeni değerleri bir araya getirmek için akış tablosunun üstündeki bir görünümü kullanmanızı önerir.
Fiziksel veri düzeni değişiklikleri
Aşağıdaki fiziksel veri düzeni değişiklikleri tam yenileme gerektirir:
- Eski bölümlemeden yeni bir kümeleme düzenine geçiş.
Yukarı akış kaynağı değişiklikleri
Aşağıdaki yukarı akış kaynak değişiklikleri tam yenileme gerektirir:
- Akış sorgusunun okuduğu kaynak tabloların değiştirilmesi.
- Kaynak türleri arasında geçiş yapma (örneğin, Kafka'dan Delta'ya veya Auto Loader'dan Kafka'ya).
- Tablo yolları veya Kafka konu abonelikleri gibi kaynak konumları değiştirme.
- Şema değişmeden kaldığında bile kaynak Delta tablosunu bırakma ve yeniden oluşturma.
Durum bilgisi olan işleme değişiklikleri
Aşağıdaki durumlu işleme değişiklikleri tam bir yenileme gerektirir:
- Toplama işlevlerini veya gruplandırma anahtarlarını değiştirme.
- Toplamaları ekleme ya da çıkarma.
- Birleştirme anahtarlarını veya birleştirme türlerini değiştirme.
- Birleştirmeleri ekleme veya kaldırma.
- Yinelenenleri kaldırma sütunlarındaki veya yinelenenleri kaldırma mantığındaki değişiklikler.
Veri sürekliliği sorunları
Veri sürekliliği tehlikeye atıldığında tam yenileme gerekebilir:
- Saklama süresinin dolması nedeniyle CDC günlükleri kullanılamaz duruma geldi.
- Akış denetim noktası dizininin bozulması veya silinmesi.
- Şema izleme veya şema konumu dosyalarının bozulması veya kaybı.
Denetim noktası hatasından işlem hattını kurtarma hakkında daha fazla bilgi için bkz. Akış denetim noktası hatasından işlem hattını kurtarma.
Sınırlamalar
Tam yenilemeler için aşağıdaki sınırlamalar geçerlidir. Bu sınırlamalar dahilinde çalışmaya yardımcı olacak bilgiler için en iyi yöntemler bölümüne bakın.
- Tam yenileme, kaynağınız geçmiş veri kümesinin tamamını tutmadığı sürece verileri yeniden işlemez.
- Büyük veri kümeleri, tam yenilemeleri maliyetli ve zaman alıcı hale getirebilir.
- Tabloya bağımlı aşağı akış kullanıcıları, yenileme tamamlanana kadar başarısız olabilir veya tamamlanmamış sonuçlar döndürebilir.
En iyi uygulamalar
| Durum | En iyi uygulamalar |
|---|---|
| Kararlılık için tasarım | Tam yenileme gerektiren değişikliklerden kaçınmak için şemanızı planlayın. Sütun eklemek genel olarak güvenlidir, ancak mevcut sütunların veya bölümleme düzenlerinin değiştirilmesi genellikle tablonun yeniden derlenmesi gerekir. |
| Kısa saklama süresine sahip kaynaklardan veri akışı | Uzun saklama sürelerine sahip olmayan Kafka konusu gibi kaynaklardan akış yapmak, tam yenilemenin hala kaynakta olmayan verileri kaybettiği anlamına gelir. Geçmiş verileri kaybetmemek için ham verileri akış tablosuna ( madalyon mimarisinde bronz bir tablo) akışla aktarın. Yukarı akış verileri değişirse bu tablonun tam yenileme gerektirmesini önlemek için esnek sütun türlerini (değişken veya dize gibi) kullanın. Bu tablo geçmiş verileri depolayabilir ve ardıl veri akış tabloları (daha katı türlere veya diğer yapısal değişikliklere sahip olabilir) tarafından kullanılabilir. Aşağı akış tabloları tam yenileme gerektiriyorsa, bu tablonun tarihsel verileri vardır ve kendisi tam yenileme gerektirmez. |
| Tam yenilemeyi çalıştırmadan önce alternatifleri göz önünde bulundurun | Alternatifler şunlardır:
|
| Tam yenileme gerektiğinde | Tam yenileme gerektiğinde şu en iyi yöntemleri izleyin:
|
Tam yenilemeden sonra verileri doldurmak için bir append onceakış oluşturabilirsiniz. Bu, ilk doldurmadan sonra çalışmaya devam etmeden tek seferlik bir geri doldurma gerçekleştirir. Kod boru hattınızda kalır ve boru hattı yeniden tamamen yenilenirse, geri doldurma işlemi yeniden başlatılır.