Recipes — "I want to…"
Task-oriented examples for the things you actually do with Krishiv.
Each recipe is a working example with status labels. Use them as starting points — every recipe links to the full reference page for deeper detail.
Batch and SQL
| I want to… | Recipe | Status |
|---|---|---|
| Run a SQL aggregation over a Parquet file | Parquet → SQL aggregation | Available |
| Filter, group, and sort with the DataFrame API | DataFrame 101 | Available |
| Register a UDF and call it from SQL | SQL UDFs | Available |
Streaming
| I want to… | Recipe | Status |
|---|---|---|
| Compute tumbling-window counts over a stream | Tumbling window aggregation | Available |
| Read from Kafka and write to Parquet | Kafka → Parquet pipeline | Preview |
| Maintain a stateful process function per key | Stateful process function | Available |
Lakehouse
| I want to… | Recipe | Status |
|---|---|---|
| Upsert into an Iceberg table from a source | Iceberg upsert with MERGE INTO | Preview |
| Time-travel read on an Iceberg table | Iceberg time travel | Preview |
| Run a live ingestion table queryable from SQL | Live table ingestion | Experimental |
Operations
| I want to… | Recipe | Status |
|---|---|---|
| Deploy Krishiv on a single host with durable state | Single-node durable deployment | Available |
| Build an exactly-once pipeline (certified combo) | Exactly-once pipeline | Preview |
| See what a streaming job is doing right now | Observing a running job | Preview |
Tip: Don't see your task? Check the full docs index or open an issue on GitHub.