bitexpert / etcetera
A simple ETL library for reading data from any source, extracting information and writing to any target
Requires
- php: >=7.0
- akeneo-labs/spreadsheet-parser: ^1.2
- beberlei/assert: ^2.6
- bitexpert/slf4psrlog: ^0.1.3
- jms/serializer: ^1.3
- monolog/monolog: ^1.21
- phpoffice/phpexcel: ^1.8
- phpoption/phpoption: ^1.5
- symfony/yaml: ^3.1
Requires (Dev)
- bitexpert/phing-securitychecker: ^0.2.1
- phing/phing: ^2.15
- phpunit/php-code-coverage: ^4.0
- phpunit/phpunit: ^5.5
- squizlabs/php_codesniffer: ^2.7
This package is auto-updated.
Last update: 2024-04-06 08:49:20 UTC
README
A small lightweight ETL framework
Scope
Etcetera may be used for several jobs concering reading data from a source (typically *.xlsx files) transforming the data to a desired format by using converters, validators, filters and decorators and storing it to a desired target (e.g. MongoDB)
How does it work?
Etcetera consists of four main parts:
Reader
The reader is used for reading data from your source
Extractor
The extractor is where the magic happens. The extractor extracts the relevant data from the data read by the reader and transforms it by rules described in it's configuration. The resulting data is called extract.
Writer
Everytime a dataset is read and extracted, the writer receives the resulting extract and may write it to any target you want to.
Processor
The processor the heart of etcetera, it's the glue between reader, extractor and writer
The reader has to read datasets from your desired source and has to create ValueDescriptors from every value found in the source. The extractor will now extract and transform the data of a single dataset described by the ValueDescriptors according to your configured rules. After having extracted and transformed the data will be passed as extract to your writer.
For further instructions please have a look at bitexpert/etcetera-demo
Further docs will follow as soon as possible.