Skip to main content

dataspace

Description

Return the name of the dataspace that a record originated from, such as default.

This is especially useful when a query combines records from more than one source — for example with `union` or `join` — and you need to know which dataspace each record came from.

Note

To learn how datasets and dataspaces work, see `source`.

Syntax

dataspace(): string

Example 1

Use case: Tag each record with its source dataspace

Add the originating dataspace name to every record so you can tell where it came from after combining data from multiple sources.

Example data

{
"service": "backend-service",
"status_code": 500
}

Example query

source logs
| limit 1
| create dataspace from dataspace()

Example output

{
"service": "backend-service",
"status_code": 500,
"dataspace": "default"
}

Example 2

Use case: Count records per location across datasets

When a single query reads from several dataspaces and datasets, use dataspace() and `dataset()` to attribute every record to its origin, then group by both to see how many records came from each location. This is especially useful once data is routed across multiple streaming datasets and you need to find where the records for a given trace ID actually live.

Example query

source logs
| union (source system/engine.queries)
| union (source system/dataplan.usage_events)
| create query_source.dataspace from dataspace()
| create query_source.dataset from dataset()
| groupby query_source.dataspace, query_source.dataset agg count() as count

Example output

{ "query_source": { "dataspace": "system", "dataset": "dataplan.usage_events" }, "count": 1549 }
{ "query_source": { "dataspace": "system", "dataset": "engine.queries" }, "count": 364 }
{ "query_source": { "dataspace": "default", "dataset": "logs" }, "count": 277318 }
Last updated on
On this page
Was this page helpful?