Бөлісу құралы:


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

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

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

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

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

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

Создание зависимости в пользовательском интерфейсе

Чтобы создать зависимость от триггера, выберите "Активировать>дополнительно>новое". Затем выберите триггер, который будет зависеть от соответствующего смещения и размера. Нажмите кнопку 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 Смещение триггера зависимости. Укажите значение в формате интервала времени. Разрешены как отрицательные, так и положительные смещения. Это свойство является обязательным, если триггер зависит от самого себя. Во всех остальных случаях это необязательно. Самозависимости всегда должны иметь отрицательные смещения. Если значение не указано, окно совпадает с самим триггером. Временной диапазон
(чч:мм:сс)
Самозависимость: да
Другое: нет
size Размер "переворачивающегося" окна зависимости. Укажите положительное значение временного диапазона. Это необязательное свойство. Временной диапазон
(чч:мм:сс)
No

Примечание.

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

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

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

Примечание.

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

{
    "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"
                }
            ]
        }
    }
}

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

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

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

Схема, показывающая пример смещения.

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

Схема с примером размера.

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

Схема, показывающая пример самозависимости.

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

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

Схема, показывающая пример зависимостей.

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

В следующем примере показано ежедневное задание без пробелов в выходных потоках задания.

Схема, показывающая пример самозависимости без пробелов в выходных потоках.

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

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

Снимок экрана: запуск триггера монитора.

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

Снимок экрана: представление списка зависимостей монитора.

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

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

Примечание.

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

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

Снимок экрана: диаграмма зависимостей монитора Ганта.

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

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

Чтобы повторно запустить окно в представлении диаграммы Ганта, выберите поле сплошного цвета для окна. Откроется панель действий с информацией и параметрами повторного запуска.