Tüm Ürünler
Search
Belge Merkezi

DataWorks:Veri geri doldurma SSS

Son Güncelleme:Oct 05, 2026

Bu konu, veri geri doldurma ile ilgili sık sorulan soruları yanıtlar.

Not

Önce Veri geri doldurma örneklerini yönetme kullanıcı kılavuzunu okumanızı öneririz.

Veri geri doldurma nasıl çalışır?

Geçmişteki veya gelecekteki bir zaman aralığına ait verileri işlemek için veri geri doldurma özelliğini kullanabilirsiniz. Bir düğüm tarafından kullanılan zamanlama parametreleri, seçilen veri zaman damgasına göre otomatik olarak ilgili değerlerle değiştirilir. Aşağıdaki örnek, MySQL veritabanından gelen artımlı verilerin MaxCompute içinde zamana dayalı bir bölüme yazılmasını göstermektedir. Toplu senkronizasyon düğümü için zamanlama parametresi bizdate=$bizdate üç yerde yapılandırılmalıdır: 1) Veri kaynağı ayarlarında, artımlı verileri filtrelemek için STR_TO_DATE('${bizdate}','%Y%m%d') <= gmt_modify_time AND gmt_modify_time < DATE_ADD(STR_TO_DATE('${bizdate}','%Y%m%d'), interval 1 day) filtre koşulunu kullanın. 2) Veri hedefi ayarlarında, bölüm bilgisini pt=${bizdate} olarak ayarlayın ve temizleme kuralı olarak Insert Overwrite seçeneğini belirleyin. 3) Zamanlama yapılandırması panelinde, Parametreler alanına bizdate=$bizdate girin ve Sonraki gün için örnek oluştur (T+1) seçeneğini belirleyin. Her zamanlanmış çalışmanın yalnızca ilgili veri zaman damgasına ait artımlı verileri senkronize ettiğinden emin olmak için ${bizdate} değeri bu üç ayarın tümünde tutarlı olmalıdır.

Veri geri doldurma sırasında, farklı düğümler ${yyyy-mm} ve ${yyyy_mm} gibi farklı biçimlerde zamanlama parametreleriyle yapılandırılmışsa, her düğüm kendi parametre biçimine göre değerini bağımsız olarak hesaplar. Sistem, seçilen veri zaman damgasına dayanarak her düğüm için mevcut çalıştırma değerini otomatik olarak hesaplar ve atar. Farklı biçimler kullanan düğümler için ek bir uyarlama gerekmez. Bir düğümü tek başına çalıştırdığınızda beklendiği gibi çalışıyorsa, veri geri doldurma sırasında da beklendiği gibi çalışır.

Saatlik ve dakikalık düğümlerde paralelliğin başarısız olmasının nedeni

  • Belirti

    Saatlik veya dakikalık olarak zamanlanan bir düğüm için, veri geri doldurma için paralelliği etkinleştirdiğinizde bile örnekler paralel olarak çalışmaz.

  • Neden

    Veri geri doldurma için paralellik ayarı, günlük granülerliğindeki bir veri zaman damgası aralığına ait örneklerin eşzamanlı olarak çalışıp çalışmayacağını belirler. Saatlik veya dakikalık düzeydeki düğümler için aynı gün içindeki örneklerin eşzamanlılığını kontrol etmez. Bu düğümlerin gün içi eşzamanlılığı, kendine bağımlılık yapılandırılıp yapılandırılmadığına bağlıdır. Daha fazla bilgi için bkz. Senaryo 2: Önceki döngüye bağımlılık yapılandırma.

  • Çözüm

    • Paralelliği devre dışı bırakırsanız, farklı veri zaman damgalarına ait örnekler seri olarak çalışır. Sonraki veri zaman damgasına ait örnek, önceki örnek tamamlandıktan sonra başlar.

    • Paralelliği etkinleştirirseniz, birden fazla veri zaman damgasına ait veri geri doldurma örneklerini paralel olarak çalıştırmak için eşzamanlı örnek sayısını (örneğin 2, 3, 4 veya 5) ayarlayabilirsiniz.

    Örnek senaryo: Saatlik veya dakikalık bir düğüm için bir haftalık veriyi geri doldurmanız gerektiğini varsayalım.

    • Düğümde kendine bağımlılık varsa, o haftaya ait örnekler kronolojik sırayla ardışık olarak çalışır.

    • Düğümde kendine bağımlılık yoksa, her güne ait tüm örnekler paralel olarak çalışır.

Örneklerin Bekliyor (Zamanlama) durumuna geçmesinin nedeni

  • Belirti

    Veri geri doldurmak için bir veri zaman damgası belirttiğinizde örnek çalışmaz. Bekliyor (Zamanlama) durumunda kalır ve sarı renkle vurgulanır.

  • Neden

    Bu durum, seçtiğiniz veri zaman damgasına ait zamanlanmış çalışma zamanı gelecekteyse gerçekleşir.

  • Çözüm

    Bu örnekleri hemen çalıştırmak için Veri Geri Doldur iletişim kutusunda Geçerli Zamandan Sonra Çalışacak Zamanlanmış Geçmiş Örnekleri Çalıştır seçeneğini belirleyin.

    Not
    • Gelecekteki bir çalışma zamanına karşılık gelen bir veri zaman damgası seçer ve bu onay kutusunu işaretlemeseniz, örnek Bekliyor (Zamanlama) durumuna girer.

    • Gelecekteki bir çalışma zamanına karşılık gelen bir veri zaman damgası seçer ve bu onay kutusunu işaretlerseniz, örnek hemen çalışır.

Son geri doldurmaların neden beklemede olduğu

  • Belirti

    Dünün veya bugünün veri zaman damgası için veri geri doldurduğunuzda örnek Bekliyor (Zamanlama) durumuna girer.

  • Neden

    Platformun zamanlaması genellikle T+1 modeline dayanır; yani dünün veri zaman damgasına sahip veriler, bugün için zamanlanan bir çalıştırma tarafından işlenir. Belirli bir veri zaman damgası için veri geri doldurduğunuzda, o tarihe ait döngü örneğini yeniden çalıştırmış olursunuz.

    Bugün çalıştırılması zamanlanmış döngü örneğini bulmak için dünün veri zaman damgasına göre filtreleme yapmanız gerekir. Operation Center > Cycle Task O&M sayfasındaki Cycle Instance sayfasında, Data Timestamp filtresini Yesterday olarak ayarlayarak ilgili döngü örneklerini ve durumlarını görüntüleyin.

Bir geri doldurmanın neden birden fazla örnek oluşturduğu

  • Belirti

    00:00 ile 01:00 gibi bir zaman aralığı için veri geri doldurmak birden fazla örnek oluşturur.

  • Neden

    Oluşturulan örnek sayısı, düğümün zamanlama yapılandırmasına bağlıdır.

    • Örneğin, saatlik bir düğüm 00:00 ile 23:59 arasında her saat çalışacak şekilde zamanlanmışsa, 00:00 ile 01:00 saat aralığı için veri geri doldurmak, zamanlanmış çalışma saatleri 00:00 ve 01:00 olan iki örnek oluşturur.

    • Benzer şekilde, bir düğüm her 30 dakikada bir çalışacak şekilde zamanlanmışsa, 00:00 ile 01:00 saat aralığı için veri geri doldurmak, zamanlanmış çalışma saatleri 00:00, 00:30 ve 01:00 olan üç örnek oluşturur.

Büyük geri doldurmaların kaynaklar için neden beklemede olduğu

  • Belirti

    Büyük ölçekli bir veri geri doldurma işlemi sırasında bazı örnekler Bekliyor (Kaynaklar) durumuna girer ve sarı renkle vurgulanır.

  • Neden

    Her kaynak grubunun çalışan düğümler için maksimum bir eşzamanlılık sınırı vardır. Eşzamanlı çalışan düğüm sayısı bu sınırı aşarsa, yeni örnekler Bekliyor (Kaynaklar) durumunda kuyruğa alınır.

    Not

    Bu sorunu gidermek için bkz. Kaynaklar için bekleniyor.

"Çalışma zamanı aralık dışında" hatasının nedeni

  • Belirti

    Veri geri doldurma sırasında, tetiklenen düğümün çalışma zamanının seçilen zaman aralığının dışında olduğunu belirten bir hata oluşabilir.

  • Neden

    Bu hata, düğümün gerçek zamanlanmış çalışma zamanının belirttiğiniz zaman aralığının dışında kalmasından kaynaklanır. Saatlik ve dakikalık düzeydeki düğümler için veri geri doldurma amacıyla bir çalışma zamanı penceresi belirtmeniz gerekir. Örneğin, Veri Geri Doldur iletişim kutusunda Select a run time window seçeneğini 00:00 ~ 01:00 olarak ayarlarsanız ancak tetiklenen düğüm farklı bir zamanda çalışacak şekilde zamanlanmışsa, geri doldurma işlemi başarısız olur. Bunu çözmek için çalışma zamanı penceresini düğümün zamanlanmış çalışma zamanını içerecek şekilde ayarlayın.

Neden geri doldurma örneği oluşturulmaz?

  • Belirti

    Bir düğüm için veri geri doldurma işlemi başlattınız ancak geri doldurma örneği oluşturulmadı.

  • Neden

    Veri zaman damgası düğümün etkin tarih aralığının dışındaysa örnekler oluşturulmaz. Geri doldurma için kullanılan veri zaman damgalarının düğümün etkin tarih aralığı içinde olduğundan emin olun. Düğümün zamanlama yapılandırması panelinde şu gibi ayarları görebilirsiniz: Time attribute öğesi Normal scheduling olarak ayarlanmıştır, Rerun attribute seçili değildir, Auto rerun on error seçili değildir, effective date range 1999-09-09 ile 1999-10-22 arasındadır (zamanlama yalnızca bu aralıkta etkilidir), Suspend scheduling seçili değildir, scheduling cycle Daily olarak ayarlanmıştır ve zamanlanmış saat 00:19'dur. Veri geri doldurma için kullanılan veri zaman damgası effective date range dışındaysa geri doldurma örneği oluşturulmaz.

Haftalık ve aylık düğümlerin geri doldurulması

  • Açıklama: Haftalık veya aylık düğümler için veri geri doldururken veri zaman damgasını zamanlanmış çalışma zamanından bir gün önceye ayarlamanız gerekir. Haftanın veya ayın belirli bir gününde çalışacak şekilde zamanlanan bir düğüm yalnızca belirtilen günde yürütülür. Diğer günlerde dry-run örnekleri oluşturulur ancak düğüm gerçekten çalışmaz. Böyle bir örneğin durumu haftalık veya aylık bir dry-run döngüsünü gösterir. Daha fazla bilgi için bkz. Senaryo 1: Haftalık/aylık döngü için dry run.

    Not
    • Geri doldurma için veri zaman damgası şu şekilde hesaplanır: veri zaman damgası = Zamanlanmış çalışma tarihi - 1 gün.

    • Zamanlama parametreleri, veri zaman damgaları, zamanlanmış saatler ve gerçek çalışma saatleri arasındaki ilişki hakkında daha fazla bilgi için bkz. Zamanlama parametreleri için desteklenen formatlar.

  • Örnek: Aylık bir düğüm için veri geri doldurma

    Her ayın ilk günü saat 00:00'da çalışacak şekilde zamanlanan bir düğüm için veri zaman damgasını önceki ayın son gününe ayarlamanız gerekir. scheduling cycle öğesi Monthly olarak ayarlanmış ve çalışma zamanı 00 00 00 1 * ? olan aylık bir düğüm için, Kasım 2022 verilerini işlemek üzere Veri Geri Doldur iletişim kutusundaki Data Timestamp için hem başlangıç hem de bitiş tarihlerini 2022-11-30 olarak ayarlayın ve ardından OK tıklayın.

Paralel örnek sınırının geri doldurmaları nasıl etkilediği

  • Bir düğüm için maximum parallel instances ayarı etkinleştirildiğinde bu limit hem veri geri doldurma örnekleri hem de normal döngü örnekleri için geçerlidir. Aynı eşzamanlılık kotasını paylaşırlar.

  • Örnek eşzamanlılığı limiti aştığında sistem öncelikli olarak geçmiş veri geri doldurma örneklerini, yani bugünden önceki veri zaman damgalarına ait örnekleri kısıtlar.

  • Maksimum paralel örnek limiti yalnızca ayar etkinleştirildikten sonra oluşturulan örnekler için geçerlidir. Zaten çalışmakta olan veya kuyrukta bekleyen örnekler etkilenmez.

  • Maksimum paralel örnek değeri 1 ile 10.000 arasında olabilir ve varsayılan değer 1'dir.

OpenAPI üzerinden paralel veri geri doldurma sırasında Can't update ObjectId BeginTs less than lastCommitTs veya "ODPS-0429311 metadata transaction conflict" hatası alırsam ne yapmalıyım?

  • Neden

    Paralel veri geri doldurma sırasında farklı veri zaman damgalarına ait görevler aynı anda çalışır ve tablo DDL işlemlerini içerir; örneğin eşzamanlı ALTER TABLE deyimleri, otomatik bir birleştirme ile manuel bir DDL işlemi arasındaki çarpışma veya örtüşen zamanlamalar. Bu durum MaxCompute meta veri işlem çatışmasına veya DDL çatışmasına neden olur.

  • Çözüm

    Veri geri doldurma API'sinin Parallelism parametresini false olarak ayarlayın, böylece görevler seri olarak çalışır ve meta verileri eşzamanlı olarak değiştirmez. Çatışma yalnızca ara sıra meydana geliyorsa yeniden deneme genellikle sorunu çözer.

  • Ek bilgiler

    Parallelism değerini false olarak ayarladıktan sonra, birden fazla veri zaman damgasına ait veri geri doldurma iş akışı kesin bir seri sırada çalışır: sonraki veri zaman damgasına ait örnek, önceki veri zaman damgasına ait tüm örnekler başarılı olduktan sonra başlar. Yukarı akıştaki bir veri zaman damgasına ait bir görev başarısız olursa, aşağı akıştaki veri zaman damgalarına ait veri geri doldurma örnekleri Not Running durumunda kalır (önceki API sürümlerinde Creating olarak gösterilir). Şu anda genel görev durumunu doğrudan sorgulamak için herhangi bir API bulunmamaktadır. Yalnızca örneklerin durumunu veri zaman damgasına göre sorgulayabilirsiniz.

Yavaş çalışan bir veri geri doldurma görevini nasıl gideririm?

  • Kaynak grubu yükünü kontrol edin

    Kaynak grubunun kullanımını kontrol edin. Kullanım yüksekse kaynak grubu tamamen dolmuş demektir ve görevler kuyruğa alınır. Eşzamanlı görev sayısını azaltın veya kaynak grubunu ölçeklendirin.

  • MaxCompute iş günlüğünü (Logview) analiz edin

    Kaynak grubu tamamen dolu değilse ancak görev yine de yavaşsa Logview URL'sini alın ve SQL yürütme verimliliğini analiz edin. Veri şişmesinin olup olmadığını kontrol edin; örneğin çıktısı girdisinden çok daha büyük olan bir JOIN işlemi. Input bilgilerini kullanarak belirli SQL düğümünü ve ilgili tabloları konumlandırın; örneğin, join anahtar değerlerinin eşit olmayan dağılımının Kartezyen çarpıma neden olduğu bir boyut tablosunun bir gerçeklik tablosuyla birleştirilmesi. SQL optimizasyonu için MaxCompute resmi belgelerine bakın.

Veri geri doldurma sonucu ile SQL ifadesini yerel olarak çalıştırma sonucu arasındaki uyumsuzluğu nasıl gideririm?

  • Ortam tutarlılığını kontrol edin

    DataWorks'teki üretim ortamınıza bağlı olan veri kaynağının, yerel olarak bağlandığınız kaynakla tam olarak aynı olup olmadığını kontrol edin. Test veritabanı ile üretim veritabanını ayırt edin.

  • Bölüm değerini kontrol edin

    Veri geri doldurma görevinde kullanılan bölüm değerinin (örneğin ds='20260212') yerel sorguda kullanılan bölüm değeriyle eşleştiğini doğrulayın. Bölüm alanını atayan mantığı ve SQL ifadesindeki veri zaman damgası formatını kontrol edin.

  • Saat dilimi yapılandırmasını birleştirin

    Zaman alanlarının veri geri doldurma görevindekiyle aynı şekilde ayrıştırıldığından emin olmak için yerel sorgunun başına SET odps.sql.timezone = <saat dilimi>; (örneğin SET odps.sql.timezone = America/Cancun;) ekleyin. Bu, TO_CHAR ve DATEADD gibi işlevlerdeki hesaplama farklarını önler.

  • Tam SQL mantığını yeniden üretin

    Yalnızca hedef tablodaki satırları saymak yerine, DataWorks çalıştırma günlüğündeki tam SQL ifadesini yerel olarak çalıştırın; tüm JOIN ve CASE mantığını ve SET parametrelerini dahil edin.

  • Konsolda doğrulayın

    Yerel ortamınızdan kaynaklanan müdahaleyi ortadan kaldırmak için aynı SQL ifadesini doğrudan DataWorks konsolunda çalıştırın.