batchSize(2) splits the frame into batches of two rows; to_output() prints each batch on its own.
Larger batches mean fewer steps and more memory. batchSize(-1) or
collect() puts the whole frame in one batch.
Examples
Batching
Description
Documentation
Batch size decides how many rows travel through the pipeline together.
Code
<?php
declare(strict_types=1);
use function Flow\ETL\DSL\{data_frame, from_array, to_output};
require __DIR__ . '/vendor/autoload.php';
data_frame()
->read(from_array([
['id' => 1, 'name' => 'John'],
['id' => 2, 'name' => 'Doe'],
['id' => 3, 'name' => 'Jane'],
['id' => 4, 'name' => 'Smith'],
['id' => 5, 'name' => 'Alice'],
]))
->batchSize(2)
->write(to_output(truncate: false))
->run();