Declare the result
An external dataset declares the result’s columns and their stable field IDs:bijection/coverage.ts
Give your job a producer grant
Mount the producer route on your HTTP router:bijection/http.ts
Submit a snapshot
Your job writes one snapshot of the bound table and submits its ID, naming the dataset versions it read as provenance. The example producer (examples/iceberg-consumers/bijection_producer.py) does this in Python with
PyIceberg:
- the table names the dataset in its
bijection.datasettable property and is the same table earlier versions came from; - the snapshot’s schema is exactly the declared fields at their field IDs, types and nullability;
- its files carry no delete files;
- a keyed snapshot holds each key once.
Use the result in your app
A collection sync keeps one of your collections equal to the latest accepted version, admitting every geometry and computing its spatial index cell; see geospatial data. For a keyed result that should arrive as incremental changes, a synced table can read it through a dataset reader that you run next to your lake, with a reader grant (bijection dataset grant reader).