定制 insalyon/acme-plugin-etl 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

insalyon/acme-plugin-etl

最新稳定版本:v1.9.0

Composer 安装命令:

composer require insalyon/acme-plugin-etl

包简介

ACME Plugin to create ETL Job

README 文档

README

A synchronization plugin that runs ETL jobs between two heterogeneous data sources.

Each job reads data from an origin layer, compares it with a target layer, and applies the necessary CRUD operations to keep them in sync.

flowchart TB
    subgraph ACME_ETL
        JOB_NAME_01([JOB_NAME_01])
        JOB_NAME_02([JOB_NAME_02])
    end
    subgraph DATA_SOURCE
        ORIGIN_LAYER[(ORIGIN_LAYER<p>postgresql, oracle, mysql, api http, ldap</p>)]
        TARGET_LAYER[(TARGET_LAYER<p>postgresql, oracle, mysql, api http, ldap</p>)]
    end
    ORIGIN_LAYER --> ACME_ETL --> TARGET_LAYER
    CLIENT --GET http://cname/api/v1/synch:job:name:01--> JOB_NAME_01
    CLIENT --GET http://cname/api/v1/synch:job:name:02--> JOB_NAME_02

ETL Pipeline

For each job, the plugin executes the following pipeline:

// Hook executed before anything else
$this->preProcess();

// Fetch data from the origin data source
$originDatas = $this->extractOriginEntity();

// Fetch data from the target data source
$targetDatas = $this->extractTargetEntity();

// Normalize and index origin data to make it comparable with target
$originDatas = $this->transformOriginToTarget($originDatas);

// Normalize and index target data
$targetDatas = $this->transformTarget($targetDatas);

// Diff origin vs target to generate CRUD operations
$generatedRequest = $this->generateRequestAfterCompare($originDatas, $targetDatas);

// Execute generated requests against the target layer (HTTP, SQL, or LDAP)

Plugin implementation: ACMEPluginETL.php

Known Limitations

  • Only the SQL and HTTP layers can be configured independently between origin and target. The LDAP layer is shared — you cannot define a custom LDAP connection in addition to the default one.

Documentation

TopicLink
Quick start & configurationQuickStart.md
System requirementsQuickStart.md
Full parameter referenceConfiguration.md
Origin layer parametersACME-ETL-Params-ORIGIN_LAYER.md
Target layer parametersACME-ETL-Params-TARGET_LAYER.md
Changelogchangelog.md
ACME core projectACME

Monitoring

When the ACME metrics layer is enabled in cfg.ini, the plugin automatically pushes runtime metrics to the configured metrics database.

A Grafana dashboard definition is available for visualization (requires plugin version >= v1.6.5-alpha).

统计信息

  • 总下载量: 319
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: CC-BY-NC-4.0
  • 更新时间: 2024-11-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固