AWS Glue and Iceberg Metadata¶
The Glue service is an AWS-only, read-only operations console for Data Catalog tables, ETL jobs, crawlers, and bounded Apache Iceberg metadata inspection. It also provides typed handoffs to S3 and Athena without executing a query or changing resources automatically.
1. Source and views¶
The standalone source selector chooses one exact configured AWS connection and
region. Shift+S cycles resolver order. Switching sources rebuilds the page
and keeps catalog, job, crawler, and remembered selections isolated by source
identity.
The segmented view frame contains Catalog (1), Jobs (2), and Crawlers
(3). Jobs and Crawlers add overlay state selectors. The active tab remains
visually distinct after focus enters the content, while the entire frame is a
single keyboard stop.
2. Catalog, jobs, and crawlers¶
Catalog lists databases and tables, then loads schema, storage, partitions, and column statistics for the selected table. Jobs lists definitions and recent runs. Crawlers lists crawler state, configuration, metrics, and latest crawl detail. Access denial remains scoped to the affected pane and does not invalidate the AWS source for other services.
y copies the selected table as a fully quoted, source-aware TableRef into
the VM-owned clipboard, then hands it to the single app-level clipboard writer
for the operating-system clipboard. That writer's toast names the channel that
actually accepted the text and never reports an unacknowledged OSC 52 write as
a copy. The command palette can open a valid selected table location in S3
under the same connection and region.
Lists page through the Glue API 100 rows at a time (200 for job runs). A footer reading
N items ยท more available means another page exists: press l, run Load
more Glue rows from the command palette, or click the footer. Every list
stops at 1,000 rows and then reads safety limit.
3. Iceberg metadata¶
The table detail enables Iceberg controls only when normalized Glue metadata contains an exact Iceberg marker. Snapshots, History, Manifests, Files, Partitions, and References load on demand through bounded Athena metadata queries. Each tab owns its own loading, failure, retry, paging, and selection state, so one failed query does not erase successful sibling tabs.
The bounded limits and required permissions are documented in the Cookbook. These queries incur ordinary Athena workgroup and result-storage behavior.
A seventh tab, Peek, previews table rows by querying the table's S3
location directly with a local DuckDB engine instead of Athena โ no
workgroup, no query execution, no query bill. It needs the optional duckdb
extra (pip install aws-tui[duckdb]) and an AWS profile connection; it does
not appear for s3-compatible connections, and without the extra installed
it stays present and selectable; choosing it reports the missing engine with
an install prompt rather than disappearing silently. Its row limit is a real
ceiling, not a local-window
widen: the load-more control reruns a genuinely new scan at the next
row-limit step (100 โ 1,000 โ 10,000), unlike the same control on the six
metadata tabs above. See the
Cookbook for a full
walkthrough.
4. Athena handoffs¶
Shift+Q opens the selected table in Athena with a quoted
SELECT * ... LIMIT 5 statement. Shift+V on a visible selected snapshot
adds FOR VERSION AS OF <snapshot-id>. Both requests preserve catalog,
database, table, connection, and region in immutable messages. The destination
editor is prefilled for review; neither command executes SQL.
5. Architecture and verification¶
GlueService composes GluePageVM from Catalog, Jobs, Crawlers, and Iceberg
VMs. VMx token-paged compositions own AWS continuation tokens, and the app
message hub carries typed cross-service requests. The service and VMs depend
on domain protocols rather than Textual widgets.
Demo mode provides disjoint catalogs, jobs, crawlers, Iceberg metadata, and a scoped access-denied profile. Contract tests validate every consumed Glue and Athena operation against the locked botocore model. Unit, snapshot, integration, and end-to-end tests cover paging, stale-source rejection, partial failures, focus order, and all handoffs.