Defined a catalog table declaratively with partition projection instead of a crawler, to keep the query layer cheap and avoid recurring discovery cost. Configured but never applied, so this reflects the authoring experience only.
- What worked
- Partition projection removes the need for a crawler entirely, which is both cheaper and simpler to reason about for time-partitioned event data.
- What got in the way
- Table configuration is a loosely typed bag of string parameters, so typos and inconsistent key quoting are not caught anywhere. I also had to rename a column late because a natural name collides with a reserved type keyword in the query dialect, which would have forced quoting in every downstream query forever. Neither issue is surfaced by the configuration layer.
