Поделиться через


Настройка зависимостей задач

Поле "Запуск, если зависимости " позволяет добавлять логику потока управления в задачи на основе успеха, сбоя или завершения других задач.

Зависимости визуально представлены в DAG задания в виде строк между задачами.

Azure Databricks выполняет вышестоящие задачи перед нижестоящими, запуская параллельно как можно больше задач.

Примечание.

Зависит только от того, состоит ли задание из нескольких задач.

Databricks также имеет следующие функции для потока управления и условной обработки:

Добавление условия запуска, если условие в задачу

Если при создании новой задачи выбрана задача в DAG, новая задача имеет зависимость, настроенную по умолчанию.

Чтобы изменить или добавить условия, сделайте следующее:

  1. Выберите задачу.
  2. В поле "Зависит" щелкните X, чтобы удалить задачу или выбрать задачи, которые нужно добавить в раскрывающемся меню.
  3. Выберите один из условных параметров в поле "Запуск" в поле зависимостей .
  4. Нажмите кнопку " Сохранить задачу".

Run if Параметры условия

В задачу можно добавить следующие Run if условия:

  • Все успешно: все зависимости выполняются и успешно выполнены. Этот параметр принимается по умолчанию. Задача помечена как Upstream failed если условие не удается выполнить.
  • По крайней мере один успешно выполнен: по крайней мере одна зависимость успешно выполнена. Задача помечена как Upstream failed если условие не удается выполнить.
  • Не удалось выполнить ни одну из зависимостей: не удалось выполнить по крайней мере одну зависимость. Задача помечена как Upstream failed если условие не удается выполнить.
  • Все готово: задача выполняется после выполнения всех зависимостей независимо от состояния зависимых запусков. Это условие позволяет определить задачу, которая выполняется без зависимости от результата зависимых задач.
  • По крайней мере один сбой: по крайней мере одна зависимость завершилась ошибкой. Задача помечена как Excluded если условие не удается выполнить.
  • Все сбои: все зависимости завершились сбоем. Задача помечена как Excluded если условие не удается выполнить.

Примечание.

  • Задачи, настроенные для обработки сбоев, помечаются так, как Excluded если их Run if условие не соответствует. Исключенные задачи пропускаются и рассматриваются как успешные.
  • Если все зависимости задач исключены, задача также исключается независимо от его Run if условия.
  • При отмене выполнения задачи отмена распространяется через подчиненные задачи и задачи с Run if условием, которое обрабатывает сбой, например, чтобы проверить выполнение задачи очистки при отмене выполнения задачи.

Пример задания с зависимостями задач

Настройка зависимостей задач создает направленный ациклический граф выполнения задачи — распространенный способ представления порядка выполнения в планировщиках заданий. Для примера рассмотрим следующее задание, состоящее из четырех задач:

Пример схемы зависимостей задач

  • Задача 1 — корневая задача, которая не зависит ни от какой другой задачи.
  • Задача 2 и задача 3 выполняются только после задачи 1.
  • Наконец, задача 4 зависит от успешного выполнения задачи 2 и задачи 3.

На следующей схеме показан порядок обработки для этих задач:

Пример потока зависимостей задач