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.
Important
Bu özellik Beta sürümündedir. Bunu etkinleştirmek için, işlem hattınızı Önizleme kanalına ayarlayın ve pipelines.rewind.betaEnabled işlem hattı yapılandırmasını true olarak ayarlayın. Bkz . Gereksinimler.
Kötü bir dönüşüm, hatalı biçimlendirilmiş bir kaynak kayıt kümesi veya beklenmedik bir şema değişikliği, bir işlem hattının tablolarının bilinen bir zaman noktasından itibaren hatalı olmasına neden olabilir. Geri sarma, boru hattını sorundan önceki bir noktaya döndürür, böylece bir düzeltme uygulayabilir ve sadece etkilenen verileri yeniden işleyebilirsiniz.
Geri sarma işlemi, tablo sürümlerini, akış kaynağı ofsetlerini ve operatör durumunu birlikte geri yükler; böylece yeniden oynatma işlemi kayıtları atlamaz veya yinelenen kayıtlar yazmaz. Üç işlem verileri yeniden işler ve farklı sorunları çözerler:
- Geri Sarma, hatalı bir dönüşüm, bozuk giriş verisi veya hatalı bir kod dağıtımından sonra olduğu gibi, bilinen bir andan itibaren hatalı veri yazmış kurtarılabilir bir iş hattı içindir. Tablo verilerini, kaynak ofsetlerini ve operatör durumunu problemden önceki bir noktaya geri getirir ve sadece etkilenen verileri yeniden işleyerek operatör durumunu korur. O noktadan önceki veriler dokunulmaz.
- Tam yenileme , mevcut tüm kaynak verilerinden bir tabloyu yeniden oluşturur ve mevcut içeriğini atar. Her şeyi sıfırdan yeniden hesaplamak için veya bir kod değişikliği mevcut durumla uyumlu olmadığında bunu kullanın.
- Kontrol noktası sıfırlaması, geçersiz veya bozulmuş ya da kontrol noktası ile uyumlu olmayan bir kod değişikliğiyle engellenen bir boru hattını geri kazanır. Kontrol noktasını sıfırlar ve tablonun geçerli içeriğini koruyarak ilerlemeyi sürdürür. Rewind bu durumları kurtaramaz, çünkü Structured Streaming uyumluluk kurallarını gevşetmez.
Requirements
| Requirement | Detail |
|---|---|
| Channel | Boru hattı Preview kanalında olmalı. Bkz . İşlem hatlarını yapılandırma. |
| Configuration |
pipelines.rewind.betaEnabled işlem hattı yapılandırmasını true olarak ayarlayın, ardından işlem hattını bir kez çalıştırın. Her akış, yalnızca zaman yolculuğunun etkin olduğu bir güncellemeyi tamamladıktan sonra geri sarılabilir hale gelir. |
| Boru hattı modu | Tetiklenen ve sürekli boru hatları. Gerçek zamanlı mod desteklenmiyor. |
| Sources | Delta tabloları, akış tabloları, Kafka ve Auto Loader. |
| Hedefler | Akış tabloları ve somutlaştırılmış görünümler. |
| Flows | Akış akışları ve AUTO veri yakalama (CDC) akışlarını değiştirir; bunlar arasında SCD Tip 1 ve SCD Tip 2 hedefleri bulunur. Toplulaştırmalar, birleştirmeler ve tekilleştirme gibi durumlu sorgular desteklenir. |
Boru hattındaki her akış bu gereksinimleri karşılamalıdır.
pipelines.rewind.betaEnabled
true olsa da, uygun olmayan bir akış içeren bir işlem hattının güncellemeleri başarısız olur. Her akışı etkinleştirmeden önce yukarıdaki gereksinimleri karşıladığından emin olun.
Note
true değeri pipelines.rewind.betaEnabled olarak ayarlanmış bir işlem hattı, Geçerli kanal geri sarmayı destekleyen bir çalışma zamanına güncellenene kadar Geçerli kanala geri dönemez.
Geri sarma ve yeniden oynatma nasıl çalışır
Geri sarma ve tekrar oynatma ayrı adımlardır.
Geri sarma , her tabloyu geri sarma noktasında tuttuğu versiyona geri getirir ve her akışın ne kadar uzağa gittiğini takip eden akış kontrol noktalarını sıfırlar. Dönüşümleriniz çalışmaz ve hiçbir kaynak veri yeniden işlenmez.
Bir dahaki pipeline çalıştığında tekrar oynatılır. Mevcut işlem hattı tanımını kullanarak geri sarım noktasından itibaren yeniden işler, güncel duruma ulaşır ve ardından normal artımlı işlemeye devam eder. Rewind işlem hattını başlatmaz, bu nedenle hazır olduğunuzda kendiniz başlatın.
Boru hattı, saatte bir olarak otomatik olarak geri sarma noktaları üretir ve bunları 7 gün boyunca korur. Az önce oluşturduğunuz bir işlem hattında, ilk çıktısını üretinceye kadar geri alınacak bir şey yoktur.
Bir veri kümesini geri sarmak, aynı iş hattında ondan sonraki her şeyi de geri sarar. Rewind bir işlem hattını kapsar. Diğer boru hatlarıyla veya aynı tabloların harici okuyucularıyla koordinasyon sağlamaz, bu yüzden bunları ayrı ayrı yönetin.
Kullanıcı arayüzünü kullanarak bir işlem hattını geri alın
Kullanıcı arayüzü ve Genie, Rewind’i kullanmanın başlıca yollarıdır. Arayüz, onaylamadan önce kullanılabilir geri sarma noktalarını listeler ve her birinin hangi veri kümelerini etkilediğini gösterir.
- İşlem hattı sayfanızda,
Chevron down simgesineİşlem hattını çalıştır seçeneğinin yanındaki düğmesine tıklayın, ardından İşlem hattını geri sar seçeneğine tıklayın.
- Bir geri sarma noktası seçin veya Düne Geri Sar veya En Güncel Noktaya Geri Sarma gibi bir kestirme kullanın. Nextöğesine tıklayın.
- Hangi tabloları dahil edeceğinizi seçin. Veri setlerini pipeline grafiğinde seçmek için Grafik görünümünü veya bir tablodan seçmek için Liste görünümünü kullanın. Tüm kontrol noktalarını sıfırla seçeneğini seçili bırakın (varsayılan); böylece kaynak ofsetleri ve operatör durumu tablo verileriyle birlikte geri yüklenir ve işlem hattı geri sarma noktasından itibaren yeniden işlenir. Örneğin, bir tablonun içeriğinin geri yüklenmesini istediğinizde ama etkilenen veriyi yeniden işlemek istemediğinizde, sadece tablo verilerini yeniden yüklemek için temizleyin. Bu ayar, bir tablo ve onun üst akışları için aynı olmalıdır; ayrıca Kafka veya Auto Loader gibi harici bir kaynaktan okuma yapan bir akış için kaldırılamaz. Nextöğesine tıklayın.
- Geri sarma noktasını, kontrol noktası ayarını ve etkilenen veri setlerini gözden geçirin, ardından Geri Sar'a tıklayın.
Verileri tekrar oynatmak için boru hattını başlatın.
Tekrar tekrar geri sarabilirsiniz. Her geri sarma bir öncekinin yerini alıyor, böylece başarısız bir tekrar oynatmadan sonra başka bir yere geri sararak toparlanabilirsiniz.
API, CLI veya SDK kullanarak bir ardışık düzeni geri sarmak
UI ve Genie'ye ek olarak, Databricks CLI, REST API veya Python SDK ile programatik olarak geri sarma başlatabilirsiniz. Otomasyon için bir iyileştirme işi, test demeti veya orkestratör gibi programatik yolu kullanın.
Geri sarma, istek gövdesi bir rewind_spec taşıyan tek bir boru hattı güncellemesidir.
rewind_spec içindeki alanlar, arayüzde yaptığınız seçimlerle aynıdır: geri sarılacak nokta, dahil edilecek veri kümeleri ve denetim noktalarının sıfırlanıp sıfırlanmayacağı. Replay, rewind_spec olmadan gönderdiğiniz sonraki güncellemedir; bu, pipeline'ı başlatmanın API'deki karşılığıdır. Geri sarma iş hattını sizin için başlatmaz.
Aşağıdakilerden birini hedefleyebilirsiniz:
-
Geri sarma noktası (tavsiye edilir).
rewind_point_iddeğerini boru hattının oluşturduğu geri sarma noktalarından birine ayarlayın. Bu, arayüz ve Genie'nin yaptığı aynı seçimdir. Geri sarma noktası zaten tablo versiyonunu ve her veri seti için geri yükleme kontrol noktasını kaydeder, bu yüzden geri sarma tam olarak o durumu geri getirir. Bkz. Geri sarma noktası bul. -
Bir zaman damgası.
rewind_timestampöğesini, oluşturulan hiçbir geri sarma noktasının istediğiniz durumla eşleşmediği rastgele bir zamana ayarlayın. Zaman damgasını kendin seçersin. Zaman damgasına geri sarma bölümüne bakın.
Bir geri sarma noktası bulun
Boru hattı, her geri sarma noktasını olay günlüğünde bir rewind_summary olayı olarak kaydeder. Etkinliğin id değeri rewind_point_id değeridir. Her periyodik geri sarma noktası, pipeline'daki her tablonun güncel versiyonunu kaydeder. Bir kuru çalışma, doğruladığı durum için geri sarma noktasını da kaydeder. Son 7 günün geri sarma noktalarını listelemek için aşağıdaki gibi bir sorgu çalıştırın:
SELECT id AS rewind_point_id, timestamp, message
FROM event_log('<pipeline-id>')
WHERE event_type = 'rewind_summary'
AND details:rewind_summary.dry_run = true
AND timestamp > current_timestamp() - INTERVAL 7 DAYS
ORDER BY timestamp DESC;
Periyodik geri sarma noktalarında şu mesaj Periodic rewind summary capturing current table versions. bulunur: Kötü veriyi geri almak için, timestamp kötü veri yazılmadan öncesine ait olan en son geri sarma noktasını seçin.
Eğer ID, boru hattının olay logundaki bir rewind_summary olayla eşleşmiyorsa, geri sarma INVALID_REWIND_SPECIFICATION.REWIND_POINT_NOT_FOUND ile başarısız olur.
İstek gövdesini geri sar
Bir pipeline'ı geri sarmak için, aşağıdaki gibi bir rewind_spec gövdeyle güncelleme gönderin:
Geri sarma noktası
{
"cause": "USER_ACTION",
"rewind_spec": {
"rewind_point_id": "<rewind-point-id>",
"datasets": [
{
"identifier": "catalog.schema.table",
"cascade": true,
"reset_checkpoints": true
}
],
"dry_run": false
}
}
Zaman damgası
{
"cause": "USER_ACTION",
"rewind_spec": {
"rewind_timestamp": "2026-09-29 08:36:55",
"datasets": [
{
"identifier": "catalog.schema.table",
"cascade": true,
"reset_checkpoints": true
}
],
"dry_run": false
}
}
CLI ile geri sarma
Databricks CLI, istek gövdesini --json üzerinden geçirir. Bir pipeline'ı geri sarmak için aşağıdakileri çalıştırın:
Geri sarma noktası
databricks pipelines start-update komutu, rewind_point_id öğesini istek gövdesinden kaldırır. Bunun yerine isteği databricks api post ile gönderin; bu, gövdeyi değiştirmeden iletir:
databricks api post /api/2.0/pipelines/<pipeline-id>/updates --json @rewind.json --profile <profile>
Zaman damgası
databricks pipelines start-update <pipeline-id> --json @rewind.json --profile <profile>
Veriyi tekrar oynatmak için, rewind_spec olmadan düz bir güncelleme başlatın:
databricks pipelines start-update <pipeline-id> --profile <profile>
Bir güncellemeyi terminal duruma ulaşana kadar düzenli olarak denetlemek için aşağıdaki işlemleri çalıştırın:
databricks pipelines get-update <pipeline-id> <update-id> --profile <profile>
REST API ile geri sarma
Bir pipeline'ı geri sarmak için, POST gövdesiyle birlikte rewind_spec uç noktasına bir istek gönderin. Örneğin:
Geri sarma noktası
curl -sS -X POST \
"https://<workspace-host>/api/2.0/pipelines/<pipeline-id>/updates" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cause": "USER_ACTION",
"rewind_spec": {
"rewind_point_id": "<rewind-point-id>",
"datasets": [{"identifier": "catalog.schema.table", "cascade": true, "reset_checkpoints": true}],
"dry_run": false
}
}'
Zaman damgası
curl -sS -X POST \
"https://<workspace-host>/api/2.0/pipelines/<pipeline-id>/updates" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cause": "USER_ACTION",
"rewind_spec": {
"rewind_timestamp": "2026-09-29 08:36:55",
"datasets": [{"identifier": "catalog.schema.table", "cascade": true, "reset_checkpoints": true}],
"dry_run": false
}
}'
Python SDK ile geri sarın
Geri sarma noktası
Tiplenen RewindSpec helper rewind_point_id içermez. İsteyi bunun yerine SDK'nın kimliği doğrulanmış REST istemcisiyle gönderin. Bu, Databricks Runtime ve sunucusuz hesaplamayla birlikte gelen databricks-sdk dahil olmak üzere her SDK sürümünde çalışır. Bir iş hattını geri sarmak için aşağıdakileri çalıştırın:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient() # In a notebook, authenticates as the notebook identity.
resp = w.api_client.do("POST", f"/api/2.0/pipelines/{pipeline_id}/updates", body={
"cause": "USER_ACTION",
"rewind_spec": {
"rewind_point_id": rewind_point_id,
"datasets": [{"identifier": root_table, "cascade": True, "reset_checkpoints": True}],
"dry_run": False,
},
})
print(resp["update_id"])
Zaman damgası
Tipli RewindSpec yardımcı doğrudan istek gövdesine eşlenir.
databricks-sdk 0.40 ve üzeri gerekiyor. Bir pipeline’ı geri sarmak için aşağıdakileri çalıştırın:
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.pipelines import StartUpdateCause, RewindSpec, RewindDatasetSpec
w = WorkspaceClient(profile="<profile>")
resp = w.pipelines.start_update(
"<pipeline-id>",
cause=StartUpdateCause.USER_ACTION,
rewind_spec=RewindSpec(
rewind_timestamp="2026-09-29 08:36:55",
datasets=[RewindDatasetSpec(
identifier="catalog.schema.table",
cascade=True,
reset_checkpoints=True,
)],
dry_run=False,
),
)
print(resp.update_id)
Databricks Runtime ile birlikte sunulan databricks-sdk, sunucusuz hesaplama dahil, türlendirilmiş RewindSpec'den daha eski olabilir. Bir notebook ortamında, her SDK sürümünde bulunan kimlik doğrulamalı REST istemcisini kullanın, böylece daha yeni bir SDK yüklemenize gerek kalmaz:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient() # Authenticates as the notebook identity.
w.api_client.do("POST", f"/api/2.0/pipelines/{pipeline_id}/updates", body={
"cause": "USER_ACTION",
"rewind_spec": {
"rewind_timestamp": rewind_timestamp,
"datasets": [{"identifier": root_table, "cascade": True, "reset_checkpoints": True}],
"dry_run": False,
},
})
Geri sarma belirtim başvurusu
Aşağıdaki tablo gövdedeki rewind_spec alanları tanımlar.
| Alan | Description |
|---|---|
rewind_point_id |
Geri yüklenecek bir rewind_summary olayının id. Bkz. Geri sarma noktası bul.
rewind_point_id veya rewind_timestamp öğesinden tam olarak birini ayarlayın. |
rewind_timestamp |
UTC yyyy-MM-dd HH:mm:ss formatında geri yüklenecek zaman noktası.
Zaman damgasına geri sarma bölümüne bakın.
rewind_point_id veya rewind_timestamp öğelerinden tam olarak birini seçin. |
datasets |
Geri sarılması gereken veri setlerinin listesi. Pipeline'daki tüm veri setlerini geri sarmak için listeyi belirtmeyin; her birinde cascade ve reset_checkpoints, true olarak ayarlanmış. |
datasets[].identifier |
Geri sarılacak veri setinin tam nitelikli adı, catalog.schema.table biçiminde. |
datasets[].cascade |
Ayrıca işlem hattında bunun aşağısındaki tüm veri kümelerini de geri sarıp sarmamak. Her veri seti için bu alanı belirtin. Doğrusal bir boru hattı için, tüm boru hattını geri sarmak üzere kök veri setinde true olarak ayarlayın. |
datasets[].reset_checkpoints |
Akış kaynağı ofsetleri ve operatör durumunun, yeniden oynatmanın geri sarma noktasından yeniden işlemesi için sıfırlanıp sıfırlanmayacağı. Bu, kullanıcı arayüzündeki Tüm kontrol noktalarını sıfırla ayarıdır. Varsayılan değer true’dır. Yalnızca tablo verilerini, yeniden işlemeden geri yüklemek için false olarak ayarlayın. |
dry_run |
Geri sarmanın hiçbir tabloyu değiştirmeden doğrulanıp doğrulanmayacağı. Varsayılan değer false’dır. Bkz. Kuru çalıştırmayla geri sarmayı prova et. |
Warning
Bir kök veri seti Kafka veya Auto Loader gibi harici bir kaynak okuduğunda, truereset_checkpoints olarak ayarlı bırakın. Arayüz, bu kaynaklar için Tüm kontrol noktalarını sıfırla seçeneğini temizlemeyi engeller, ancak API false öğesini reset_checkpoints olarak ayarlayan bir isteği kabul eder. Talep kabul edilir ve geri sarma başlayabilir, ancak boru hattı sonrasında başarısız oluyor.
reset_checkpoints: false öğesini akışın okumadığı veri setleriyle sınırlandırın.
Zaman damgasına geri sarmak
Hiçbir oluşturulan geri sarma noktası istediğiniz durumla eşleşmediğinde, örneğin iki geri sarma noktası arasındaki bir noktaya geri sarmak için rewind_timestamp kullanın. Zaman damgasını kendiniz girersiniz. İki kurala uyun:
- İki commit arasında, bir commit üzerine düşen değil, kesinlikle bir nokta seçin. Bir commit üzerine düşen zaman damgası, yeniden yürütmeyi başarısız kılabilir. Son iyi commit ile ilk kötü commit arasındaki orta noktayı kullanın.
- Geri sarmamış veya yenilenmemiş bir işlem hattında, sürüm 1'den itibaren değişiklik veri beslemesini tara. Sürüm 0 değişiklik verisini kaydetmez. Eğer sürüm 1, tablonun dosya tutma süresinden (varsayılan olarak 7 gün) daha eskiyse, tarama başarısız olur, bu yüzden bunun yerine bu süre içinde commit edilmiş en eski sürümden başlayın.
Aşağıdaki sorgu, commit sürelerini bulur, geri sarmak istediğiniz pipeline tablosunun değişim veri akışını (CDF) okur, bu yüzden CDF o tabloda etkinleştirilmiş olmalıdır. Geri sarma işlemi CDF gerektirmez. Lakeflow pipeline'ları varsayılan olarak tablolarında CDF'yi etkinleştirir, böylece sorgu ekstra kurulum olmadan çalışır. CDF tabloda devre dışı bırakıldıysa, bunun yerine bir nokta seçmek için geri sarma noktasını veya DESCRIBE HISTORY kullanın.
_change_type filtresini araştırdığınız hatayla eşleştirin: hatalı eklemeler veya güncellemeler için 'update_postimage' ve 'insert' seçeneklerini koruyun; hatalı bir silme için bunun yerine 'delete' üzerinde filtreleyin, çünkü table_changes yalnızca bu değişiklik türünde silinen satırları gösterir. Kötü veriyi seçen bir yüklemden orta nokta zaman damgası hesaplamak için aşağıdaki gibi bir sorgu çalıştırın:
WITH onset AS ( -- The first commit that introduced the bad data.
SELECT min(_commit_version) AS first_bad_version,
min(_commit_timestamp) AS first_bad_ts
FROM table_changes('catalog.schema.table', 1) -- Start from version 1.
WHERE _change_type IN ('insert', 'update_postimage') -- Use ('delete') instead to find an erroneous delete.
AND (event_date >= '2026-09-29') -- Example predicate. Replace the condition in parentheses with one that selects the bad rows.
),
bounds AS (
SELECT first_bad_ts,
(SELECT max(h.timestamp)
FROM (DESCRIBE HISTORY catalog.schema.table) h
WHERE h.version < onset.first_bad_version) AS last_good_ts
FROM onset
)
SELECT date_format(
from_unixtime((unix_timestamp(last_good_ts) + unix_timestamp(first_bad_ts)) / 2),
'yyyy-MM-dd HH:mm:ss') AS rewind_timestamp
FROM bounds;
Eğer boru hattı zaten yeniden sarıldıysa veya yenilendiyse, taramayı en son RESTORE veya yenileme commit'inden başlatın; böylece önceki işlemin ötesine geçmez.
Geri sarmayı deneme çalıştırmasıyla prova edin
Tabloyu değiştirmeden geri sarmayı doğrulamak için dry_run öğesini true olarak ayarlayın. Güncelleme, veri değiştirmeden terminal COMPLETED durumuna doğrulama sürecinden geçer. Boru hattının geri sarmayı kabul ettiğini doğrulamak için kuru çalıştırma yapın, ardından, dry_runfalse olarak ayarlanmış şekilde isteği yeniden gönderin.
Bir deneme çalıştırması, rewind_summary olayı olarak doğruladığı rewind’i kaydeder. Tam olarak bu geri sarmayı uygulamak için, örneğin rewind_timestamp ile yapılan bir deneme çalıştırmasından sonra, gerçek geri sarımı olayın id değerini rewind_point_id olarak kullanarak gönderin. Başarısız olan deneme denemesi sonraki güncellemeleri engellemez.
Otomasyonda ardışık geri sarma ve tekrar oynatma döngüleri çalıştırdığınızda, aralarında tam bir yenileme yapın. Bir işlem hattına, arada tam yenileme olmadan ikinci kez geri sarma ve yeniden oynatma uygulanması, sonraki akış tablolarında yeniden işlenen satırların yinelenmesine neden olabilir.
Geri sardıktan sonra
Tekrar oynatma hatasında, boru hattı yeniden sarılır ama durur. Kodu veya kaynak verilerini düzeltin ve yeniden denemek için işlem hattını başlatın ya da başka bir noktaya geri sarın. Boru hattı kendiliğinden geri alınmaz ve hatalar standart boru hattı tanılama bilgileri ile olay günlüğü aracılığıyla görünür olur.
Tekrar oynatma yalnızca mevcut boru hattı tanımı geri dönüştürülmüş durumla uyumlu ise başarılı olur; geri sarma Yapılandırılmış Akış uyumluluk kurallarını gevşetmez. Hangi değişikliklerin uyumlu olduğu için bkz. Yapılandırılmış Akış sorgularındaki değişiklikler türleri. Maddeleştirilmiş görünümler toplu anlam sistemini takip eder ve daha geniş şema değişikliklerini tolere eder, ancak bir bağımlılık uyumsuzsa yine de başarısız olur.
Yarı yolda başarısız olan bir geri sarma, boru hattının kısmen geri sarılmasına neden olabilir. İki seçeneğiniz vardır:
- Aynı noktaya ya da farklı bir noktaya yeniden sararsanız, işlem hattı o noktada yakınsar.
- Eksik geri sarma işlemine rağmen işlem hattını normal bir güncelleme başlatmaya zorlamak için
pipelines.allowUpdateAfterIncompleteRewinddeğerinitrueolarak ayarlayın ve işlem hattını yeniden başlatın.
Note
Geri sarma başarısız olursa veya geçersiz bir geri sarma noktası ile gönderirseniz, pipeline tam yenileme dahil olmak üzere tüm sonraki geri sardırmayan güncellemeleri, geçerli bir geri sarmayı yeniden gönderene kadar engeller. Geri sarmaları programatik olarak tetiklediğinizde, isteği göndermeden önce rewind_point_id veya rewind_timestamp etiketinin geçerli bir noktaya işaret ettiğini doğrulayın.
Ne kadar geri sarabilirsin
Geri alma noktaları 7 gün süreyle saklanır. Bu pencere içinde, ihtiyaç duyduğu veri zaten kaldırılmışsa geri sarma başarısız olur. Geri sarmaya güvenmeden önce bunları kontrol edin:
-
VACUUMya da masalarınızın üzerinde kısa birdelta.deletedFileRetentionDuration. Bkz. Tablo geçmişiyle çalışma. - Kaynak saklama süresi, geri sarmak istediğiniz aralıktan daha kısaysa; örneğin verileri yalnızca bir gün saklayan bir Kafka topic’i gibi.
Birden fazla kaynağa sahip veya uzun bağımlılık zincirleri içeren işlem hatları, daha uzun saklama süresi gerektirir; çünkü her tablo ve denetim noktasının tutarlı bir noktaya kadar geri gidebilmesi gerekir.
Limitations
- Rewind, bir işlem hattını tam yenilemeden önceki bir noktaya geri yükleyemez.
- Geri sarma noktaları 7 gün boyunca saklanır ve o noktaya ulaşmak için gereken tablo geçmişi veya kaynak veriler, örneğin
VACUUMya da kısa kaynak saklama süresi nedeniyle, zaten kaldırılmışsa geri sarma işlemi başarısız olur. Ne kadar geriye sarabileceğinize bakın. - Gerçek zamanlı mod desteklenmiyor.
- DSv2 veya Python veri kaynağı API'leriyle oluşturulan Kinesis, Pulsar, Google Pub/Sub ve özel kaynaklar kaynak olarak desteklenmez.
- Harici lavabolar ve özel lavabolar desteklenmez, bunlar arasında ile
create_sink()tanımlanan lavabolar dahil. İşlem hatlarında sink kullanma konusuna bakın. - Satır filtresi veya sütun maskesi kullanan akış tabloları geri alınamaz. Bkz. Satır filtrelerini ve sütun maskelerini el ile uygulama.
- Durumlu geri sarma, boru hatlarının varsayılan olarak kullandığı RocksDB durum deposunu gerektirir. Farklı bir durum deposuyla yapılandırılmış bir akış için geri alma işlemi başarısız olur.
- Bazı AUTO CDC akış tablolarının geri alınabilmesi için önce yenilenmesi gerekir. Boru hattı, geri sarma talebini istediğinizde size haber verir.
- Somutlaştırılmış görünümler, geri sarma işleminden sonra artımlı olarak yenilenmek yerine tamamen yeniden hesaplanabilir. Bkz. gerçekleştirilmiş görünümler için artımlı yenileme.
- Rewind, tek bir işlem hattı için geçerlidir ve harici okuyucularla veya aynı tabloları okuyan diğer işlem hatlarıyla eşgüdüm sağlamaz.
- Rewind, işlem hattı kodunu, işlem hattı yapılandırmasını veya etiketler ve izinler gibi Unity Catalog nesne meta verilerini geri yüklemez.