call() applies any PHP callable to a column when no built-in function fits. The callable's result
type is declared (type_list(type_integer())), so the schema knows it before a row is read.
Examples
Transformations
Description
Documentation
Transformations are expressions over a row, evaluated column by column.
Code
<?php
declare(strict_types=1);
use function Flow\ETL\DSL\{data_frame,
from_array,
lit,
ref,
to_output};
use function Flow\Types\DSL\{type_integer, type_list};
require __DIR__ . '/vendor/autoload.php';
(data_frame())
->read(
from_array(
[
['integers' => '1,2,3'],
['integers' => '5,7'],
['integers' => '0,2,4'],
]
)
)
->withColumn(
'integers',
ref('integers')->call(lit('explode'), type_list(type_integer()), ['separator' => ','], refAlias: 'string')
)
->write(to_output(truncate: false))
->run();