Before you start
Select a writable Iceberg catalog in Workbench. You need namespace and table creation, reads, writes, and the provider’s maintenance support. The examples create format-v2 tables and use inline data. Choose an unused practice namespace. The examples usemaintenance_docs; replace it everywhere if that name is already used for other work. Each recipe uses its own table. A recipe’s setup drops and recreates only that recipe’s named practice table.
Create a small inspection table
Choose your catalog in Workbench and run the statements in order. The statements run in order as separate operations. They do not form one transaction.
The separate inserts give you several writes to inspect. Actual file counts depend on the writer and its settings.
Inspect the physical layout
Open the table under Catalogs, then open Inspection. Use its Summary, Snapshots, History, and Files sections where the connector supports them.
Check all result pages when inspecting files. A single page is not necessarily the full table. Keep the selected snapshot explicit when comparing its file list, then refresh to the current snapshot after maintenance completes.
Metadata record counts are not always visible row counts. A delete record may refer to a row already covered by another delete file. Do not subtract delete entries from data records to calculate the exact visible rows. Use a table query for that check.
Check table settings
SHOW TBLPROPERTIES returns saved properties. DESCRIBE TABLE EXTENDED gives additional table details. Iceberg’s format version is table metadata, rather than an ordinary custom property; do not assume it appears as a normal key in every properties result.
Choose what to do next
- Combine small data files with data compaction.
- Combine positional-delete files with delete compaction.
- Reorganize manifest metadata with manifest optimization.
- Change defaults for future writes with TBLPROPERTIES.