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 only supported by GroupBy queries.
The table data source the most common type. It's represented by a string, or by the full structure:
{ "type": "table", "name": <string_value> }
{ "type": "query", "query": { "type": "groupBy", ... } }