Lakeflow İşlerinde devre dışı bırakılan görevler

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çin only değ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 condition Koşul değerini sağlayan yukarı akış görevi devre dışı bırakılırsa görev başarısız olur.
  • For each Giriş 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: true gö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.