ralphschindler / etl-pipeliner
v0.0.6
2021-03-01 19:07 UTC
Requires
- php: ^7.0|^8.0
This package is auto-updated.
Last update: 2024-08-29 04:48:55 UTC
README
定义ETL管道以从源提取、转换和加载数据到另一个源。
安装
composer require ralphschindler/etl-pipeliner
用法
要构建一个ETL管道,你需要ETL、提取器、加载器和执行器。
ETL对象
实现一个扩展 \EtlPipeliner\AbstractEtl
的类。本包包含用于Laravel应用的提取器和加载器。
class MyEtlObject extends \EtlPipeline\AbstractEtl { public function extractor(): \EtlPipeliner\AbstractExtractor { return new \EtlPipeliner\Laravel\DbExtractor(app('db')->connection()); } public function transform(array $data) { return $data; } public function loader(): \EtlPipeliner\AbstractLoader { return new \EtlPipeliner\Laravel\DbLoader(app('db')->connection()); } }
执行ETL
$executor = new \EtlPipeliner\EtlExecutor(); $executor->execute(new MyEtlObject());
数据库支持
目前Laravel提取器和加载器支持
- MySQL
- SQL Server
- PostgreSQL