flow php

Example: Reading

Topic: Partitioning

Code

<?php

declare(strict_types=1);

use function Flow\ETL\Adapter\CSV\from_csv;
use function Flow\ETL\DSL\{data_frame, to_stream};

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

data_frame()
    ->read(from_csv(__DIR__ . '/input/color=*/sku=*/*.csv'))
    ->write(to_stream(__DIR__ . '/output.txt', truncate: false))
    ->run();

Output

+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  7 |  blue | PRODUCT01 |
+----+-------+-----------+
Partitions:
 - color=blue
 - sku=PRODUCT01
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  8 |  blue | PRODUCT02 |
+----+-------+-----------+
Partitions:
 - color=blue
 - sku=PRODUCT02
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  4 | green | PRODUCT01 |
+----+-------+-----------+
Partitions:
 - color=green
 - sku=PRODUCT01
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  5 | green | PRODUCT02 |
+----+-------+-----------+
Partitions:
 - color=green
 - sku=PRODUCT02
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  6 | green | PRODUCT03 |
+----+-------+-----------+
Partitions:
 - color=green
 - sku=PRODUCT03
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  1 |   red | PRODUCT01 |
+----+-------+-----------+
Partitions:
 - color=red
 - sku=PRODUCT01
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  2 |   red | PRODUCT02 |
+----+-------+-----------+
Partitions:
 - color=red
 - sku=PRODUCT02
1 rows
+----+-------+-----------+
| id | color |       sku |
+----+-------+-----------+
|  3 |   red | PRODUCT03 |
+----+-------+-----------+
Partitions:
 - color=red
 - sku=PRODUCT03
1 rows

Contributors

Join us on GitHub external resource
scroll back to top