Контролируйте поток задач в заданиях Lakeflow

Некоторые задания — это список задач, которые необходимо выполнить. Вы можете управлять порядком выполнения задач, указывая зависимости между ними. Задачи можно настроить для выполнения в последовательности или параллельном выполнении.

Однако можно также создавать потоки ветвления, включающие условные задачи, исправление ошибок или очистку. Инструмент Lakeflow Jobs предоставляет функции для управления потоком задач в пределах задания. В следующих разделах описаны способы управления потоком задач.

Повторы

Повторные попытки указывают, сколько раз следует повторно запустить определенную задачу, если задача завершается ошибкой. Ошибки часто временные и разрешаются с помощью перезапуска. Некоторые функции Azure Databricks, такие как эволюция схемы с использованием структурированной потоковой передачи, предполагают, что вы выполняете задания с повторными попытками, чтобы сбросить среду и позволить рабочему процессу продолжить.

Если вы указываете повторные попытки для задачи, задача перезапускается до указанного количества раз, если она сталкивается с ошибкой. Не все конфигурации заданий поддерживают повторные попытки задачи. См. Установите политику повторных попыток.

При выполнении в режиме непрерывного триггера Databricks автоматически выполняет повторные попытки с экспоненциальной задержкой. См. обработку сбоев в непрерывных заданиях.

Выполнить, если условные задачи

Можно использовать Выполнить, если тип задачи, чтобы указать условные условия для последующих задач на основе результатов других задач. Вы добавляете задачи в задание и задаете задачи, зависящие от предшествующих задач. На основе состояния этих задач можно настроить одну или несколько подчиненных задач для выполнения. Задания поддерживают следующие зависимости:

  • Все успешно выполнено
  • По крайней мере один добился успеха
  • Ошибок нет
  • Все готово
  • По крайней мере один сбой
  • Всё провалилось

См. настройка зависимостей задач

Условные задачи if/else

Можно использовать тип задачи If/else, чтобы указать условные условия на основе некоторого значения. См. раздел Добавление логики ветвления в задание с помощьюзадачи If/else.

Задания Lakeflow поддерживают taskValues, которые вы определяете в своей логике, и позволяют возвращать результаты некоторых вычислений или состояний из задачи в среду выполнения заданий. Можно определить условия If/else в отношении taskValues, параметров задания или динамических значений.

Задания Lakeflow поддерживают следующие операнды для условных условий:

  • ==
  • !=
  • >
  • >=
  • <
  • <=

См. также:

Для каждой задачи

Используйте задачу For each для выполнения другой задачи в цикле, передавая другой набор параметров каждой итерации задачи.

Чтобы добавить задачу For each в задание, необходимо определить задачу For each и вложенную задачу . Вложенная задача — это задача, выполняемая для каждой итерации задачи For each и является одним из стандартных типов задач Databricks. Для передачи параметров в вложенную задачу поддерживаются несколько методов.

См. Используйте задачу For each для выполнения другой задачи в цикле.

Отключенные задачи

Отключите задачу, чтобы пропустить ее во время выполнения, не удалив ее из задания. Задача сохраняет свою конфигурацию и журнал выполнения, а Lakeflow Jobs оценивают задачи, выполняемые после, в зависимости от их Run if условий, чтобы определить, выполняются ли они также.

См. раздел "Отключенные задачи" в заданиях Lakeflow.