Skill 73 · Managing Data Catalog
Subchapter 73.1
references/bulk-operations.mdMarkdown2 KBView on GitHub
Documenting or tagging a whole database is the common real request, and a per-asset conversational loop is where the cost is.
The two canonical read-modify-write blocks in describing-assets.md exist
because both platforms’ write APIs replace rather than merge. In bulk that
multiplies: one wrong shape applied across a database loses a field on every
asset at once, and the catalog has revisions but no rollback. The snapshot is
what turns that from a data-loss incident into a re-run.
glue:UpdateTable is the sharpest case. It takes a complete TableInput, and
dropping Parameters takes metadata_location with it, which does not lose
metadata but breaks an Iceberg table. Applied to nine tables in a loop, that is
nine broken tables.
Three outcomes per asset, never two: changed, unchanged, failed. Folding a failure into “unchanged” is what makes a partial run unresumable, because the user cannot tell what still needs doing from what was already correct.
Say which assets you acted on by name. A count alone (“updated 9 assets”) cannot be checked and cannot be resumed.