POST
requests containing plain SQL queries to these endpoints. The cluster then executes the submitted SQL queries and returns query results to the client in the corresponding HTTP response.
curl
command line utility and it is assumed that a single-node Firebolt Core cluster is running on the local machine with its HTTP endpoint exposed at localhost:3473
. You can refer to Get Started for instructions on how to start such a cluster.
Each HTTP POST
request submitted to the HTTP endpoint of Firebolt Core should contain exactly one valid SQL query, for example:
timezone
setting can be adjusted as follows.
&
).
output_format
parameter can be specified in the HTTP query string to select a different output format. We recommend using the JSON_Compact
output format whenever query results need to be processed by code instead of humans. The supported formats are:
TabSeparatedWithNamesAndTypes
(default)JSON_Compact
JSON_CompactLimited
(same as JSON_Compact but only returns 10,000 rows)JSONLines_Compact
(chunked version of JSON_CompactLimited)JSON_Compact
JSONLines_Compact
Firebolt-Update-Parameters
response header containing the new parameters that should be appended to the HTTP query string for subsequent statements to use the changed database. Consider the following example running against a clean Firebolt Core cluster (see Get Started on how to start such a cluster).
ORDER BY
clause, or for queries that do not access any tables at all.
Second, this behavior also affects data placement when inserting into tables managed by the Firebolt Core cluster. Specifically, such tables are conceptually sharded across all nodes in a cluster but data is physically inserted in the final stage of the distributed query plan. If this stage runs only on a single node, all inserted data will also end up on this single node. In this case, balancing individual insert statements across nodes is crucial to ensure that data is distributed properly across nodes.
Whether the above applies to a specific query can be determined by inspecting its physical query plan (see also Troubleshooting). Consider the following example running against a two-node Firebolt Core cluster with node endpoints exposed at localhost:3473
and localhost:3474
(see Get Started). Note that running these queries against a single-node cluster would result in slightly different query plans.