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.
Azure Databricks Lakeflow işinde devre dışı bırakılmış bir görev, çalışma zamanında işten kaldırılmadan atlanır. Devre dışı bırakılan görevler, daha sonra görevi yeniden oluşturmadan yeniden etkinleştirebilmeniz için yapılandırmalarını ve çalıştırma geçmişlerini saklar. Bu sayfada, bir iş çalıştırıldığında devre dışı bırakılan görevlerin sonraki görevler, onarımlar ve kısmi çalıştırma işlemleri üzerindeki etkisi de dahil olmak üzere nasıl davrandıkları açıklanmaktadır.
Aşağı akış görev davranışı
Bir iş çalıştırıldığında, Lakeflow İşleri her aşağı akış görevinin Run if koşulunu yukarı akış görevlerine göre değerlendirir ve bu değerlendirmenin sonucunda görevin çalıştırılacağına, atlanacağına veya devre dışı bırakılacağına karar verir. Devre dışı bırakılan görevler, Disabled sonlandırma koduyla tamamlanır.
Bir veya daha fazla üst görev devre dışı bırakılmışsa, aşağı akış görevinin Çalıştır koşulu karşılanamaz, bu durumda Lakeflow İşleri, aşağı akış görevini bu çalıştırma için devre dışı olarak işaretler. Devre dışı bırakılmış aşağı akış görevleri, çalıştırmayı başlatmadan önce etkisini görebilmeniz için Yönlendirilmiş Döngüsüz Grafik (DAG) görünümünün sağ üst köşesinde büyük bir Kapalı Daire simgesi gösterir.
Aşağıdaki tabloda, bir yukarı akış görevi devre dışı bırakıldığında her Çalıştırma koşulu için aşağı akış davranışı özetlenmektedir. Eğer çalıştır seçeneklerinin tam listesi için bkz. Görev bağımlılıklarını yapılandırma.
| If koşulunu çalıştırma | Ana görev devreden çıkarıldığında alt görevin davranışı | Example |
|---|---|---|
| Tümü başarılı ( varsayılan) | Aşağı akış görevi çalışmıyor. Devre dışı bırakılmış bir üst görev succeeded gereksinimini karşılamaz. |
A (disabled) → B: B çalışmaz. |
| En az biri başarılı oldu | En az bir üst görev daha başarılı olursa aşağı akış görevi çalışır. Diğer tüm üst görevler başarısız olduysa veya devre dışı bırakıldıysa aşağı akış görevi çalışmaz. |
A (disabled) ve C (succeeded) → B: B çalışır. |
| Hiçbiri başarısız olmadı | En az bir üst görev hatasız tamamlanırsa alt görev çalışır. Tüm ana görevler devre dışı bırakılırsa sonraki görev çalışmaz. |
A (disabled) ve C (skipped) → B: B herhangi bir üst görev başarısız olmadığı için çalışır. |
| Hepsi bitti | Aşağı akış görevi normal şekilde çalışır. Devre dışı bırakılmış bir ana görev tamamlanmış olarak kabul edilir. |
A (disabled) → B: B çalışır. |
| En az bir başarısız | En az bir üst görev başarısız olursa aşağı akış görevi çalışır. Devre dışı bırakılmış bir ana görev, hata olarak değerlendirilmez. Başka bir üst görev başarısız olmadıysa alt görev çalışmaz. |
A (disabled) ve C (failed) → B: B çalışır. |
| Tümü başarısız oldu | Aşağı akış görevi çalışmıyor. Devre dışı bırakılmış bir ana görev, hata olarak değerlendirilmez. |
A (disabled) → B: B çalışmaz. |
Note
Yalnızca açıkça devre dışı bıraktığınız görevler iş tanımında disabled: trueye sahiptir. Lakeflow İşleri, çalışma oluşturma zamanında aşağı akış devre dışı bırakma işlemini belirler ve iş ayarlarında kalıcı hale gelmez.
Görevi devre dışı bırakma
Kullanıcı arabirimini kullanarak bir görevi devre dışı bırakmak veya yeniden etkinleştirmek için bkz. Görevi devre dışı bırakma.
API veya paket aracılığıyla bir görevi devre dışı bırakmak için:
disabled: true, Azure Databricks CLI, Azure Databricks SDK veya Declarative Automation Bundles kullanarak görev ayarlarındaki göreve ayarlayın:
{
"tasks": [
{
"task_key": "load_raw_data",
"disabled": true,
"notebook_task": {
"notebook_path": "/Shared/etl/load_raw_data"
}
}
]
}
jobs/get ve jobs/list yanıtları yalnızca açıkça devre dışı bırakmış olduğunuz görevler için disabled: true döndürülmektedir. Bir çalıştırma sırasında dinamik olarak devre dışı bırakılan görevler depolanan iş ayarlarına yansıtılamaz.
Onarımlarda ve kısmi çalıştırmalarda devre dışı bırakılan görevler
Devre dışı bırakılan görevler onarım çalıştırmalarında ve kısmi çalıştırmalarda tipik bir zamanlanmış çalıştırmadan farklı davranır:
-
Onarım: Lakeflow İşleri, görevin devre dışı durumunu değil, nelerin onarılacaklarını belirlemek için her görevin çalışma durumunu kullanır. Devre dışı bırakılmış bir görevi onarımın bir parçası olarak çalışmaya zorlamak için, bunu
rerun_tasksonarım isteğine ekleyin. Bkz Başarısız olan ve atlanan görevleri yeniden çalıştırma. -
Kısmi çalıştırmalar: Kısmi çalıştırma başlattığınızda devre dışı bırakılan görevler varsayılan olarak seçilmez, ancak bunları iş ayarlarında yeniden etkinleştirmeden bir kez çalıştırılacak şekilde seçebilirsiniz. Lakeflow İşleri sizin belirlediğiniz görevleri çalıştırır ve kısmi bir çalıştırma sırasında Eğer Çalıştır yayma uygulamaz.
+alanında, yukarı akış veya aşağı akış görevlerini eklemek içinonlydeğiştiricilerini kullandığınızda, genişletme işlemi devre dışı görevleri içermez. Devre dışı bırakılan görevleri dahil etmek için bunları açıkça eklemeniz gerekir.
Sınırlamalar
Devre dışı bırakılan görevlerin sınırlamaları şunlardır:
-
If/else conditionKoşul değerini sağlayan yukarı akış görevi devre dışı bırakılırsa görev başarısız olur. -
For eachGiriş değerlerini sağlayan yukarı akış görevi devre dışı bırakılırsa görev başarısız olur. - yalnızca kullanıcı tarafından devre dışı bırakılan görevler iş tanımında olduğu gibi
disabled: truegörünür. İşi çalıştırmadan önce hangi aşağı akış görevlerinin etkilendiğini görmek için İşler kullanıcı arabirimindeki DAG görünümünü kullanın.