

Maximum out-of-order tolerance is applied within a single value tuple of.

When the OVER clause is used, several aspects of event processing by Azure Stream Analytics are modified:

OVER clause interacts with event ordering Syntax TIMESTAMP BY scalar_expression Įvent timestamp can be retrieved in the SELECT statement in any part of the query using System.Timestamp() property. See 'OVER clause interacts with event ordering' for the impact the use of the OVER clause has on the processing of the job. Azure Stream Analytics supports substreams by specifying OVER sub-clause to enable processing of events in independent timelines. In case a query only processes data from each event producer independently, handling events from each producer in its own timeline is more efficient than managing time skews between producers. While the disorder between event producers may be large, the disorder within the events from a single producer is generally small or even non-existent. Events from individual event producers may be delayed in transit, for example, by network unavailability at producer's site.Individual event producers may have different (and skewed) system clocks.Note that using a custom timestamp (TIMESTAMP BY clause) may cause Azure Stream Analytics to ingest events out of order with respect to their timestamps for two reasons: String values conforming to any of ISO 8601 formats are also supported. The value can be any field from the event payload or expression of type DATETIME. For these cases, the TIMESTAMP BY clause allows specifying custom timestamp values. Additionally, geo-distributed systems and network latencies may contribute to unpredictable arrival times, making the use of an application time more reliable in a streaming application. For example, in a Point of Sales application one may need event timestamps corresponding to the time a payment was logged, rather than the time a payment event reaches the event ingestion service. Many streaming applications require using the exact timestamp that an event occurred, rather than the arrival time. The timestamp of an event doesn't change if you re-start or re-run your job. By default, events from Event Hub and IoT Hub are timestamped based on when the event was received by the Event Hub or IoT Hub events from Blob storage are timestamped by the blob's last modified time. All data stream events have a timestamp associated with them.
