SuperAPI AI 工具集

etl-sync-job-builder

设计与创作

查看项目

更新于 10-16 03:16

技能介绍

用途:帮助构建可靠、增量的数据同步管道,适用于数据库、API、文件到数据库、数据仓库或 S3 的同步任务。

主要能力:提供 ETL 任务类模板(含 extract、transform、load、getWatermark、updateWatermark 步骤);用水位线表 SyncWatermark(key、lastSync、metadata、lastSync 索引)实现增量同步,仅拉取 updated_at 大于上次同步时间的记录;用 upsert 与 PostgreSQL ON CONFLICT 实现幂等写入,支持批量 upsert;提供指数退避重试函数 syncWithRetry(operation, maxRetries, baseDelay);支持 CDC(PostgreSQL 逻辑复制与 LISTEN/NOTIFY);提供冲突解决策略 source-wins、dest-wins、latest-wins、merge;提供监控指标 SyncMetrics 与日志;用 cron 表达式配置调度(如每小时、每 15 分钟、每天凌晨 2 点);错误处理支持检查点、失败记录日志与恢复。

使用方式:按示例定义继承 ETLJob 的任务类,实现 extract、transform、load,运行 new OrdersETLJob().run(),并用 node-cron 的 cron.schedule 调度。示例涉及 Prisma、PostgreSQL、pg 库、node-cron。

适用场景:增量数据同步、数据仓库装载、跨系统数据复制、需要幂等与可重试的数据管道。

限制与注意:资料未提供安装命令、具体包版本、收费信息或平台支持范围;示例中部分代码(如模板字符串与转义字符)仅为示意,实际使用时需按自身环境校验;CDC、批量 upsert 等实现依赖具体数据库能力;资料未说明性能基准或大规模数据下的表现。