Stream
krishiv stream submit / push / poll — continuous window jobs in-process.
krishiv stream runs a continuous window job entirely in the CLI process. It is intended for local development, smoke tests, and streaming CLI demos — not for production. For production, use the coordinator.
Usage
# 1. Submit a job (returns a name to use in push/poll)
krishiv stream submit --job-id events --window tumbling --window-size-ms 60000 --key-column user_id --event-time-column ts
# 2. Push batches (Parquet files)
krishiv stream push --job-id events --parquet ./batch_001.parquet
krishiv stream push --job-id events --parquet ./batch_002.parquet
# 3. Poll for results
krishiv stream poll --job-id events
submit flags
| Flag | Default | Effect |
|---|---|---|
--job-id <ID> (required) | — | Unique job ID. Use the same ID for push and poll. |
--window <tumbling|sliding|session> | tumbling | Window type. |
--window-size-ms <MS> | 60000 | Window size. |
--slide-ms <MS> | 30000 | Slide (sliding windows only). |
--session-gap-ms <MS> | 5000 | Inactivity gap (session windows only). |
--key-column <COL> | user_id | Key column for the windowed aggregation. |
--event-time-column <COL> | ts | Event-time column for watermarks. |
--watermark-lag-ms <MS> | 0 | Allowed lateness in milliseconds. |
push flags
| Flag | Effect |
|---|---|
--job-id <ID> (required) | Must match a previously submitted job. |
--parquet <PATH> (required) | Path to a Parquet file. Rows are read into RecordBatches and pushed to the job's queue. |
poll flags
| Flag | Effect |
|---|---|
--job-id <ID> (required) | Must match a previously submitted job. |
Poll drains the accumulated output and pretty-prints it. The CLI does not checkpoint stream jobs; closing the process loses the state.