ralphschindler/etl-pipeliner

v0.0.6 2021-03-01 19:07 UTC

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