There are also several predefined transformations, like for example select
.
Select is also available directly through DataFrame::select()
API.
Transformations are also great way for improving data processing pipelines readability.
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:
Description
▶
▼
composer.json
{
"name": "flow-php/examples",
"description": "Flow PHP - Examples",
"license": "MIT",
"type": "library",
"require": {
"flow-php/etl": "1.x-dev"
},
"minimum-stability": "dev",
"config": {
"allow-plugins": {
"php-http/discovery": false
}
}
}
code.php
<?php
declare(strict_types=1);
use function Flow\ETL\DSL\{data_frame, from_array, select, to_stream};
require __DIR__ . '/vendor/autoload.php';
data_frame()
->read(
from_array([
['id' => 1, 'first_name' => 'John', 'last_name' => 'Doe'],
['id' => 2, 'first_name' => 'Jane', 'last_name' => 'Smith'],
['id' => 3, 'first_name' => 'Bob', 'last_name' => 'Johnson'],
['id' => 4, 'first_name' => 'Alice', 'last_name' => 'Williams'],
])
)
->with(select('id'))
->collect()
->write(to_stream(__DIR__ . '/output.txt', truncate: false))
->run();
Output
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
+----+
4 rows