Создание зависимости триггера, который запускает конвейер в "переворачивающемся" окне

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

В этой статье описано, как создать зависимость в триггере "переворачивающегося" окна. Общие сведения об этом типе триггеров см. в статье Создание триггера, который запускает конвейер в "переворачивающемся" окне.

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

Создание зависимых конвейеров в Фабрике данных Azure с помощью периодического триггера см. в следующем видео:

Создание зависимости в пользовательском интерфейсе Фабрики данных Azure

Чтобы создать зависимость в триггере, последовательно выберите Trigger > Advanced > New (Триггер > Дополнительно > Создать), а затем выберите триггер, для которого будет создана зависимость, с соответствующими смещением и размером. Нажмите кнопку Finish (Готово) и опубликуйте изменения фабрики данных, чтобы зависимости вступили в силу.

Создание зависимостей

Свойства зависимостей "переворачивающегося" окна

Периодический триггер с зависимостью имеет следующие свойства.

{
    "name": "MyTriggerName",
    "properties": {
        "type": "TumblingWindowTrigger",
        "runtimeState": <<Started/Stopped/Disabled - readonly>>,
        "typeProperties": {
            "frequency": <<Minute/Hour>>,
            "interval": <<int>>,
            "startTime": <<datetime>>,
            "endTime": <<datetime – optional>>,
            "delay": <<timespan – optional>>,
            "maxConcurrency": <<int>> (required, max allowed: 50),
            "retryPolicy": {
                "count": <<int - optional, default: 0>>,
                "intervalInSeconds": <<int>>,
            },
            "dependsOn": [
                {
                    "type": "TumblingWindowTriggerDependencyReference",
                    "size": <<timespan – optional>>,
                    "offset": <<timespan – optional>>,
                    "referenceTrigger": {
                        "referenceName": "MyTumblingWindowDependency1",
                        "type": "TriggerReference"
                    }
                },
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": <<timespan – optional>>,
                    "offset": <<timespan>>
                }
            ]
        }
    }
}

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

Имя свойства Описание Тип Обязательно
type В этом раскрывающемся меню отображаются все существующие триггеры "переворачивающегося" окна. Выберите триггер, для которого будет настроена зависимость. TumblingWindowTriggerDependencyReference или SelfDependencyTumblingWindowTriggerReference Да
offset Смещение триггера зависимости. Укажите значение в формате диапазона времени. Разрешено вводить положительные и отрицательные смещения. Это свойство является обязательным, если триггер имеет зависимость от самого себя. Во всех остальных случаях это необязательное свойство. Самозависимости всегда должны иметь отрицательные смещения. Если значение не указано, окно будет таким же, как и сам триггер. Временной диапазон
(чч:мм:сс)
Самозависимость: да
Другое: нет
размер; Размер "переворачивающегося" окна зависимости. Укажите положительное значение временного диапазона. Это необязательное свойство. Временной диапазон
(чч:мм:сс)
Нет

Примечание

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

Свойства самозависимостей "переворачивающегося" окна

В сценариях, где триггер не должен переходить к следующему окну до успешного завершения предыдущего окна, следует создать самозависимость. Триггер самозависимости, зависящий от успешности предыдущих запусков самого себя в течение предыдущего часа, будет иметь свойства, указанные в следующем коде.

Примечание

Если запущенный конвейер полагается на выходные данные конвейеров в ранее активированных окнах, рекомендуется использовать только самозависимость периодического триггера. Чтобы ограничить выполнение параллельных триггеров, задайте максимальное значение параллелизма триггера.

{
    "name": "DemoSelfDependency",
    "properties": {
        "runtimeState": "Started",
        "pipeline": {
            "pipelineReference": {
                "referenceName": "Demo",
                "type": "PipelineReference"
            }
        },
        "type": "TumblingWindowTrigger",
        "typeProperties": {
            "frequency": "Hour",
            "interval": 1,
            "startTime": "2018-10-04T00:00:00Z",
            "delay": "00:01:00",
            "maxConcurrency": 50,
            "retryPolicy": {
                "intervalInSeconds": 30
            },
            "dependsOn": [
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": "01:00:00",
                    "offset": "-01:00:00"
                }
            ]
        }
    }
}

Использование примеров и сценариев

Ниже приведены сценарии и использование свойств зависимостей "переворачивающегося" окна.

Смещение зависимости

Пример смещения

Размер зависимости

Пример размера

Самозависимость

Самозависимость

Зависимость от триггера другого "переворачивающегося" окна

Ежедневное задание на обработку данных телеметрии с зависимостью от другого ежедневного задания статистической обработки выходных данных за последние семь дней, которое создает скользящее окно потоков за семь дней:

Пример зависимости

Зависимость от самого себя

Ежедневное задание без разрывов в потоках вывода задания:

Пример самозависимости

Мониторинг зависимостей

Вы можете отслеживать цепочку зависимостей и соответствующего окна на странице мониторинга выполнения триггера. Последовательно выберите Monitoring > Trigger Runs (Мониторинг > Выполнение триггеров). Если у периодического триггера существуют зависимости, имя триггера будет содержать гиперссылку на представление мониторинга зависимостей.

Мониторинг запусков триггеров

Щелкните имя триггера, чтобы просмотреть зависимости триггера. На правой панели отображаются подробные сведения о выполнении триггера, такие как RunID, время окна, состояние и т. д.

Мониторинг представления списка зависимостей

Вы можете увидеть состояние зависимостей и окон для каждого зависимого триггера. Если один из триггеров зависимостей завершается сбоем, необходимо успешно перевыполнить его для выполнения зависимого триггера.

Периодический триггер будет ожидать зависимости в течение семи дней до истечения времени ожидания. Через семь дней выполнение триггера завершится ошибкой.

Чтобы просмотреть расписание зависимостей триггеров, выберите представление диаграммы Ганта.

Мониторинг зависимостей диаграммы Ганта

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

  • Прозрачное поле отображается синим цветом, если окна зависимостей находятся в состоянии ожидания или выполнения.
  • После успешного выполнения всех окон прозрачное поле зависимого триггера станет зеленым.
  • Прозрачное поле отображается красным цветом, когда происходит сбой какого-либо зависимого окна. Найдите сплошной красный прямоугольник, чтобы определить окно с ошибкой.

Чтобы повторно выполнить окно в представлении диаграммы Ганта, выберите одноцветное поле для окна, и появится всплывающая панель действий с подробными сведениями и параметрами повторного выполнения.

Дальнейшие действия