layout: doc_page title: “Datasources”

Datasources

A data source is the Druid equivalent of a database table. However, a query can also masquerade as a data source, providing subquery-like functionality. Query data sources are currently supported only by GroupBy queries.

Table Data Source

The table data source is the most common type. It's represented by a string, or by the full structure:

{
	"type": "table",
	"name": "<string_value>"
}

Union Data Source

This data source unions two or more table data sources.

{
       "type": "union",
       "dataSources": ["<string_value1>", "<string_value2>", "<string_value3>", ... ]
}

Note that the data sources being unioned should have the same schema. Union Queries should be always sent to the broker/router node and are NOT supported directly by the historical nodes.

Query Data Source

This is used for nested groupBys and is only currently supported for groupBys.

{
	"type": "query",
	"query": {
		"type": "groupBy",
		...
	}
}