serialize operator

Marks that the order of the input row set is safe to use for window functions.

The operator has a declarative meaning. It marks the input row set as serialized (ordered), so that window functions can be applied to it.

T | serialize rn=row_number()

Syntax

serialize [Name1 = Expr1 [, Name2 = Expr2]...]

Example

Traces
| where ActivityId == "479671d99b7b"
| serialize

Traces
| where ActivityId == "479671d99b7b"
| serialize rn = row_number()

The output row set of the following operators is marked as serialized.

range, sort, order, top, top-hitters, getschema.

The output row set of the following operators is marked as non-serialized.

sample, sample-distinct, distinct, join, top-nested, count, summarize, facet, mv-expand, evaluate, reduce by, make-series

All other operators preserve the serialization property. If the input row set is serialized, then the output row set is also serialized.