A data source is the Apache 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.
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>" }
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 a Broker/Router process and are NOT supported directly by the Historical processes.
This is used for nested groupBys and is only currently supported for groupBys.
{ "type": "query", "query": { "type": "groupBy", ... } }