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.
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 }