Rebuild only what changed
Merenda models your data steps as a graph and runs only the steps whose inputs moved since last time.
A single binary reads step files, hashes their inputs, and skips anything unchanged.
- A step runs again only when an input changed.
- Each step names its inputs and its output.
- Backfill a range without touching the live schedule.
- See which steps feed a given table.
A step
Steps are files, reviewed like the rest of your code.
step "daily" {
in = table("orders")
out = table("orders_daily")
run = "select day, count(*) from orders group by day"
}
Why it is quick
It keeps a hash of each input. On a run it compares hashes and skips unchanged steps, so a small change touches a small part of the graph.