flow php

UNIFIED DATA PROCESSING FRAMEWORK

composer require flow-php/etl ^0.10.0

Changelog

elephant
extract

Extracts

Read from various data sources.

arrow
transform

Transforms

Shape and optimize for your needs.

arrow
load

Loads

Store and secure in one of many available data sinks.

DSL Functions


DSL stands for Domain Specific Language. In the case of Flow, the DSL is used to define simple functions that can be used to transform data. Most of those functions are initializing a new instance of a class under the hood since Flow is fully object-oriented. Please look at the examples below to get a better understanding of how to use the DSL functions.

HELPER


/**
 * Create a new filesystem table with given filesystems.
 * Filesystems can be also mounted later.
 * If no filesystems are provided, local filesystem is mounted.
 */
fstab(Filesystem $filesystems) : FilesystemTable
/**
 * Path supports glob patterns.
 * Examples:
 *  - path('*.csv') - any csv file in current directory
 *  - path('/** / *.csv') - any csv file in any subdirectory (remove empty spaces)
 *  - path('/dir/partition=* /*.parquet') - any parquet file in given partition directory.
 *
 * Glob pattern is also supported by remote filesystems like Azure
 *
 *  - path('azure-blob://directory/*.csv') - any csv file in given directory
 *
 * @param array<string, mixed> $options
 */
path(string $path, array $options) : Path
/**
 * Resolve real path from given path.
 *
 * @param array<string, mixed> $options
 */
path_real(string $path, array $options) : Path
/**
 * Create a path to php stdout stream.
 *
 * @param null|array{'stream': 'output'|'stderr'|'stdout'} $options
 *
 * @return Path
 */
path_stdout(?array $options) : Path

Contributors

Join us on GitHub external resource
scroll back to top