Политики временной асимметрии

✅ Поток событий Azure Stream Analytics ✅ Fabric

Замечание

Компонент Eventstream Fabric основан на той же среде выполнения, что и Azure Stream Analytics. Поэтому основные понятия, описанные в этой статье, применимы как к Azure Stream Analytics, так и к потоку событий Fabric.

Все события потока данных имеют метку времени , связанную с ними. Пользователи могут использовать ключевое слово TIMESTAMP BY для выбора между одним из этих двух разных разных раз:

  • Время приложения: время создания событий (как отмечено приложением или устройством, создающим события). При использовании времени приложения можно обрабатывать все события с помощью глобальной временной шкалы или анализировать каждое устройство или секцию с помощью собственной временной шкалы с помощью подпотоков;
  • Время прибытия: время, когда событие достигло облака (например, время прибытия в Центре Интернета вещей или Центрах событий).

Помимо выбора метки времени, пользователям может потребоваться определить политику "Опоздание" и "Не упорядочение" из-за следующих проблем:

  • Производители событий имеют отклонение часов. Эта проблема распространена, когда производители находятся на разных компьютерах, поэтому они имеют разные часы.
  • Из-за задержки в сети события могут поступать в Центры событий или Центр Интернета вещей в другом порядке, начиная с момента их возникновения.
  • Часы перемежают между секциями. При использовании непартийных запросов события со всех разделов объединяются меткой времени выбора пользователя. Часы отклонение между секциями может привести к задержке обработки, так как слияние должно ждать самой медленной секции.

Входные потоки, которые не находятся в порядке, обусловлены следующими причинами:

  • Отсортирован (и поэтому отложен).
  • Корректируется системой в соответствии с указанной пользователем политикой.

Stream Analytics допускает поздние и устаревшие события при обработке по времени приложения.

Политика вне порядка

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

  • Скорректировано: изменено, чтобы, как представляется, прибыло в последнее допустимое время.
  • Удалено: удалено.

Этот параметр можно настроить на портале Azure (на вкладке "Порядок событий" задания). Дополнительные сведения см. на странице рекомендаций по заказу событий.

При настройке политики вне порядка больше нуля, Stream Analytics буферизирует события до этого окна и переупорядочение их с помощью определяемой пользователем метки времени перед применением темпорального преобразования. Как правило, начиная с 3-секундного окна сначала рекомендуется, а затем настроить значение, чтобы уменьшить количество событий, которые будут скорректированы. Из-за буферизации побочный эффект отложен на тот же период времени. В результате необходимо настроить значение, чтобы уменьшить количество событий вне порядка и снизить задержку.

Задержка прибытия

Для учета задержки в событиях, поступающих из-за различных причин, описанных ранее, используется окно допустимости прибытия. Кратко, окно позднего прибытия — это максимальная задержка между созданием событий и получением события в источнике ввода. Корректировка на основе допустимости позднего прибытия выполняется сначала и не упорядочена далее. Столбец System.Timestamp() имеет окончательную метку времени, назначенную событию.

Этот параметр применим только при обработке по времени приложения, в противном случае он игнорируется. Его также можно задать на портале Azure (на вкладке "Порядок событий" задания). Дополнительные сведения см. на странице рекомендаций по заказу событий.

Если событие поздно, его метка времени настраивается на текущее время входящего запроса в источнике входных данных минус окно допустимости позднего прибытия (или удалено в зависимости от выбранного действия). Если несколько секций из одного входного потока или нескольких входных потоков объединяются вместе, задержка прибытия — это максимальное время, которое каждый раздел ожидает новых данных.

Задержка прибытий и разреженные события

Политика позднего прибытия позволяет Stream Analytics перемещать время вперед и создавать выходные данные в режиме времени в отсутствие входных событий. Эта функция полезна, если входные события разрежены (или не получены вообще в некоторых разделах Центров событий).

Например, входные события создаются каждые минуты для запроса select*. Без использования этой политики Stream Analytics не может создавать выходные результаты до тех пор, пока события не будут доставлены во все секции Центров событий (для перемещения времени вперед). Это означает, что 16 минут, если центры событий имеют 16 секций и что каждое событие доставляется в другую секцию. Если политика по умолчанию составляет 5 секунд, часы перемещаются вперед через 5 секунд после первого события, поэтому выходное событие создается через 5 секунд после первого события.

См. также

Управление временем
System.Timestamp() (Stream Analytics)
TIMESTAMP BY
Рекомендации по заказу событий