Skip to content
Search
Examples

Transformations

Description

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.

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();
Contributors

Built in the open.

Join us on GitHub
scroll back to top