Guides
Flink SQL Workspace
Process streaming data with Flink SQL
Overview
Flink lets you process your streaming data with SQL — straight from the portal, without touching the Confluent Cloud console. You run queries on a compute pool (the capacity that Flink statements execute on), and each query becomes a statement you can inspect, stop, and trace in lineage like any other resource.
Open the SQL Workspace from a compute pool, write Flink SQL, and see results stream in.
It covers both exploratory queries (SELECT,
SHOW TABLES, DESCRIBE) and
deploying long-running transformations (CREATE TABLE … AS,
INSERT INTO … SELECT).
Access
The SQL Workspace is for developers and above. Viewers can see compute pools and statements (read-only) but don't get the workspace entry point. Creating, resizing and deleting compute pools is admin-only, because pool capacity is the main Flink cost lever.
Using the SQL Workspace
- Go to Flink → Compute Pools, open a pool, and click Open SQL Workspace.
- Write Flink SQL in the editor. The pool, catalog (your landing zone) and database (your cluster) are shown in the context bar — everything runs on that pool.
- Click Run (or
⌘/Ctrl+Enter). Your query is submitted as a statement under your business unit's Flink service account. - Results stream into the table as they're produced. Column names and types are shown; for changelog queries each row is tagged INSERT / UPDATE / DELETE.
- For a never-ending streaming query, click Stop when you've seen enough.
Bounded vs. streaming queries
SHOW TABLES, DESCRIBE and
bounded SELECTs finish on their own and show "finished". An
unbounded SELECT on a live topic keeps streaming until you press
Stop — it never completes by itself.
Every query you run appears in Flink → Statements like any other statement. Ad-hoc
workspace queries are cleaned up automatically when you leave the page; deployments
(CREATE TABLE … AS, INSERT INTO)
are meant to keep running and stay in the list.
What it costs (CFUs)
Flink is billed in CFUs (Confluent Flink Units). A compute pool has a max CFU ceiling, and running statements consume CFUs from it — so cost follows how much you run, not how many pools exist. A pool with nothing running on it costs nothing.
A streaming query keeps spending until you stop it
SELECT (or a deployed
CREATE TABLE … AS) runs — and consumes CFUs — until it is
stopped or deleted. Use Stop when you're done exploring, and remember that leaving
the workspace tears down your ad-hoc query but not your deployments. Admins set the per-pool
max-CFU cap to bound the worst case.
Tips
- If a query fails, the workspace shows the real Flink error inline (in red). A common one is "Error while deserializing value from topic …" — that means the topic's records don't match its declared value schema, not a problem with your SQL.
- Fully-qualify table names (
`catalog`.`database`.`table`) if a plain name isn't found — the default catalog/database context covers the common case. - To inspect a query in depth — status, full SQL and exception history — open it from Flink → Statements, where every query you run appears.