Skip to content

Run your first query

Your Data Server is ready and its info modal shows the connection values you will use. The remaining steps connect a SQL client and run a query.

The Data Server speaks Arrow Flight SQL — a gRPC-based protocol designed for high-throughput analytical workloads. The Data Server info modal exposes the endpoint in two forms (gRPC URL and JDBC URL) plus a token. For most SQL clients, copy the JDBC URL — the token is already embedded in it. See Connection URLs for the full format details and for the gRPC variant.

  1. Get the Arrow Flight SQL JDBC driver. Download the latest flight-sql-jdbc-driver-*.jar from Maven Central or the Apache Arrow releases page.

  2. Register the driver in your SQL client. DBeaver is a free starting point that supports user-provided JDBC drivers. In DBeaver: Database → Driver Manager → New, add the JAR you downloaded, set class name to org.apache.arrow.driver.jdbc.ArrowFlightJdbcDriver, and URL template to jdbc:arrow-flight-sql://{host}[:{port}].

  3. Create a connection using the JDBC URL you copied from the Data Server info modal. The token in the URL handles authentication — no separate username/password.

Run a SELECT against a table registered in your catalog:

SELECT COUNT(*) FROM my_namespace.my_table;

What happens behind the scenes (Data Server internals):

  1. Your SQL client speaks Arrow Flight SQL to the Data Server.
  2. The Data Server parses the SQL, reads metadata from your Catalog, and produces a logical plan.
  3. The Job Manager launches a per-query executor pod into your cluster. Karpenter provisions EC2 capacity for the pod per your Capacity Policy.
  4. The executor reads from S3, writes Parquet results, and publishes them to a result channel the Data Server is subscribed to.
  5. The Data Server streams results back to your SQL client. Per-stage timing is reported to the Icebreaker control plane.

You can monitor query status in the admin UI under the Data Server.

  • A working query pipeline: SQL client → JDBC URL → Data Server → query executor pod (governed by Capacity Policy) → S3 → results.
  • All data and execution stay inside your VPC.
  • You are ready to integrate Icebreaker into your applications, BI tools, or AI agents.

For deeper operational tasks, see the How-to guides.