Extracts
Read from various data sources.
Transforms
Shape and optimize for your needs.
Loads
Store and secure in one of many available data sinks.
Examples:
composer.json
{
"name": "flow-php/examples",
"description": "Flow PHP - Examples",
"license": "MIT",
"type": "library",
"require": {
"flow-php/etl": "1.x-dev",
"flow-php/etl-adapter-csv": "1.x-dev"
}
}
code.php
<?php
declare(strict_types=1);
use function Flow\ETL\Adapter\CSV\from_csv;
use function Flow\ETL\DSL\{data_frame, to_stream};
require __DIR__ . '/vendor/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