Örnek sorular
Data Pipeline OrchestrationZorluk 1
Pipeline orkestrasyonunda DAG (yönlü döngüsüz graf) temel olarak neyi temsil eder?
- aBir görevin retry döngüsünü
- bBağımlılık sırasını, döngü olmadan✓
- cPipeline'ın çalıştığı sunucuları
- dÇıktı verisinin depolama formatını
Açıklama:DAG, görevleri düğüm, bağımlılıkları yönlü kenar olarak modeller. 'Döngüsüz' olması, bir görevin zincir yoluyla kendine bağımlı olamayacağı, dolayısıyla her zaman geçerli bir çalıştırma sırası hesaplanabileceği anlamına gelir.
Data Pipeline OrchestrationZorluk 1
Bir pipeline bağımlılık grafiği neden döngüsüz olmak zorundadır?
- aDöngüsüz graflar daha az disk kullanır
- bDöngülü graflar iki görev tutamaz
- cBir döngü geçerli sırayı engeller✓
- dZamanlayıcılar alfabetik isim ister
Açıklama:A görevi B'ye, B görevi A'ya bağımlıysa hiçbiri önce çalışamaz — bir başlangıç noktası yoktur. Döngüsüzlük, en az bir geçerli topolojik sıralamanın var olmasını garanti eder.
Data Pipeline OrchestrationZorluk 2
Bir pipeline için cron-benzeri zamanlama ile event-tabanlı tetikleme arasındaki temel fark nedir?
- aCron zaman güdümlü; event olaya tepki verir✓
- bCron yılda bir, event-tabanlı her saniye çalışır
- cEvent-tabanlı izleme gerektirmez
- dCron retry ile birleştirilemez
Açıklama:Cron-benzeri zamanlama zaman güdümlüdür (örn. her gün 02:00). Event-tabanlı tetikleme, bir dosyanın gelmesi veya upstream pipeline'ın bitmesi gibi bir olayla tetiklenir, dolayısıyla çalışma zamanı olayın gerçekleştiği ana göre değişir.
Data Pipeline OrchestrationZorluk 2
Günlük bir rapor pipeline'ı, depolamaya belirli bir upstream dosya geldikten sonra çalışmalı ve geliş saati her gün birkaç saat değişiyor. Hangi zamanlama yaklaşımı en uygun olur?
- aEn erken olası geliş saatine sabit cron
- bEn geç olası geliş saatine sabit cron
- cHiç zamanlama olmadan, elle çalıştırmak
- dDosya gelince tetiklenen event-tabanlı tetikleyici✓
Açıklama:Geliş saati değişken olduğundan, sabit bir cron zamanlaması ya çok erken çalışıp dosyayı bulamama riskini taşır ya da en geç olası zamana kadar bekleyerek zaman kaybettirir. Event-tabanlı tetikleyici, bağımlılık karşılandığı anda tam olarak tepki verir.
Data Pipeline OrchestrationZorluk 2
Pipeline orkestrasyonu bağlamında 'backfill' ne anlama gelir?
- aEski pipeline çalıştırmalarını silmek
- bPipeline'ı geçmiş tarihler için yeniden çalıştırmak✓
- cBir tabloya yeni sütun eklemek
- dGelecekteki çalıştırmalar için worker artırmak
Açıklama:Backfill, pipeline mantığını geçmiş zaman pencerelerine karşı yeniden çalıştırmak demektir — örneğin bir bug düzeltmesinden sonra son 30 günü tekrar çalıştırmak — böylece geçmiş çıktı, düzeltilmiş mantığın üreteceği çıktıyla eşleşir.
Data Pipeline OrchestrationZorluk 2
Günlük aktif kullanıcı sayısını hesaplayan bir pipeline'da son 10 gündür kullanıcıları eksik sayan bir bug vardı. Bug artık düzeltildi. Genellikle sırada ne yapılmalıdır?
- aHiçbir şey, sadece gelecek çalıştırmalar önemli
- bSon 10 günü kalıcı olarak silmek
- cEtkilenen 10 günü backfill etmek✓
- dZamanlamayı günde iki kez olarak değiştirmek
Açıklama:Geçmiş çıktının artık yanlış olduğu bilindiğinden, backfill düzeltilmiş mantığı etkilenen tarih aralığında yeniden çalıştırır, böylece geçmiş veri eskimiş veya eksik kalmak yerine düzeltmeyle tutarlı hale gelir.