insalyon/acme-plugin-etl
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
| Topic | Link |
|---|---|
| Quick start & configuration | QuickStart.md |
| System requirements | QuickStart.md |
| Full parameter reference | Configuration.md |
| Origin layer parameters | ACME-ETL-Params-ORIGIN_LAYER.md |
| Target layer parameters | ACME-ETL-Params-TARGET_LAYER.md |
| Changelog | changelog.md |
| ACME core project | ACME |
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).
insalyon/acme-plugin-etl 适用场景与选型建议
insalyon/acme-plugin-etl 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 328 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 11 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 insalyon/acme-plugin-etl 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 insalyon/acme-plugin-etl 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 328
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: CC-BY-NC-4.0
- 更新时间: 2024-11-06