Skip to content
Search
Examples

Partitioning

Description

A filter() that reads only partition columns is pushed into the reader: directories whose path fails the predicate (color=green) are never opened.

Documentation

Partitioning is declared on the loader, and lets a reader skip whole directories.

Code

<?php

declare(strict_types=1);

use function Flow\ETL\Adapter\CSV\from_csv;
use function Flow\ETL\DSL\{data_frame, lit, ref, to_output};

require __DIR__ . '/vendor/autoload.php';

data_frame()
    ->read(from_csv(__DIR__ . '/data/partitioned/color=*/sku=*/*.csv'))
    ->filter(ref('color')->notEquals(lit('green')))
    ->collect()
    ->write(to_output(truncate: false))
    ->run();
Contributors

Built in the open.

Join us on GitHub
scroll back to top