Rediger

Del via


serialize operator

Applies to: ✅ Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

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.

Syntax

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

Learn more about syntax conventions.

Parameters

Name Type Required Description
Name string The name of the column to add or update. If omitted, the output column name is automatically generated.
Expr string ✔️ The calculation to perform over the input.

Examples

The example in this section shows how to use the syntax to help you get started.

The examples in this article use publicly available tables in the help cluster, such as the StormEvents table in the Samples database.

The examples in this article use publicly available tables, such as the StormEvents table in the Weather analytics sample data.

Serialize subset of rows by condition

This query retrieves all log entries from the TraceLogs table that have a specific ClientRequestId and preserves the order of these entries during processing.

TraceLogs
| where ClientRequestId == "5a848f70-9996-eb17-15ed-21b8eb94bf0e"
| serialize

Output

This table only shows the top 5 query results.

Timestamp Node Component ClientRequestId Message
2014-03-08T12:24:55.5464757Z Engine000000000757 INGESTOR_GATEWAY 5a848f70-9996-eb17-15ed-21b8eb94bf0e $$IngestionCommand table=fogEvents format=json
2014-03-08T12:24:56.0929514Z Engine000000000757 DOWNLOADER 5a848f70-9996-eb17-15ed-21b8eb94bf0e Downloading file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_0.json.gz""
2014-03-08T12:25:40.3574831Z Engine000000000341 INGESTOR_EXECUTER 5a848f70-9996-eb17-15ed-21b8eb94bf0e IngestionCompletionEvent: finished ingestion file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_0.json.gz""
2014-03-08T12:25:40.9039588Z Engine000000000341 DOWNLOADER 5a848f70-9996-eb17-15ed-21b8eb94bf0e Downloading file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_1.json.gz""
2014-03-08T12:26:25.1684905Z Engine000000000057 INGESTOR_EXECUTER 5a848f70-9996-eb17-15ed-21b8eb94bf0e IngestionCompletionEvent: finished ingestion file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_1.json.gz""
... ... ... ... ...

Add row number to the serialized table

To add a row number to the serialized table, use the row_number() function.

TraceLogs
| where ClientRequestId == "5a848f70-9996-eb17-15ed-21b8eb94bf0e"
| serialize rn = row_number()

Output

This table only shows the top 5 query results.

Timestamp rn Node Component ClientRequestId Message
2014-03-08T13:00:01.6638235Z 1 Engine000000000899 INGESTOR_EXECUTER 5a848f70-9996-eb17-15ed-21b8eb94bf0e IngestionCompletionEvent: finished ingestion file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_46.json.gz""
2014-03-08T13:00:02.2102992Z 2 Engine000000000899 DOWNLOADER 5a848f70-9996-eb17-15ed-21b8eb94bf0e Downloading file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_47.json.gz""
2014-03-08T13:00:46.4748309Z 3 Engine000000000584 INGESTOR_EXECUTER 5a848f70-9996-eb17-15ed-21b8eb94bf0e IngestionCompletionEvent: finished ingestion file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_47.json.gz""
2014-03-08T13:00:47.0213066Z 4 Engine000000000584 DOWNLOADER 5a848f70-9996-eb17-15ed-21b8eb94bf0e Downloading file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_48.json.gz""
2014-03-08T13:01:31.2858383Z 5 Engine000000000380 INGESTOR_EXECUTER 5a848f70-9996-eb17-15ed-21b8eb94bf0e IngestionCompletionEvent: finished ingestion file path: ""https://benchmarklogs3.blob.core.windows.net/benchmark/2014/IMAGINEFIRST0_1399_48.json.gz""
... ... ... ... ...

Serialization behavior of operators

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

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

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