LazyFrame.stream

DataFrame stream(size_t batchSize = 65_536) @trusted

Streams the plan with bounded memory (ADR-2026-10-24-18): the source is pulled in fixed-size batches; row-wise operations (filter/select/withColumn) run per batch; the first limit early-exits the pull. The result is bitwise-identical to collect() (the eager chain) at every batchSize - batch boundaries are invisible to row-wise operations.

Plans containing blocking operations (sort, window expressions) fall back to the full eager chain - disclosed by streamMode(), never silent.

Parameters

batchSizethe batch width (at least 1; default 65_536)

Returns

the materialised result (bitwise-equal to collect()).

Throws

DataFrameException on batchSize < 1.