SuperAPI AI 工具集

etl-incremental-patterns

数据与分析

查看项目

更新于 10-16 00:03

技能介绍

用途:面向 ETL 场景,提供增量数据加载与历史回填的可复用模式,帮助在数据同步、迁移和日常调度中减少重复处理。

主要能力:

  1. 回填策略:backfill_date_range 按日期区间生成日期列表,用 ThreadPoolExecutor 控制并发(parallel 参数)执行 process_fn,并逐日打印成功或失败。
  2. 基于时间戳的增量:incremental_by_timestamp 读取上次运行时间,用 WHERE timestamp_col > :last_run 查询,成功后更新最大时间戳。
  3. CDC:process_cdc_events 按 operation 区分 INSERT、UPDATE、DELETE,删除走 soft_delete,其余走 upsert。
  4. 全量刷新换表:full_refresh_with_swap 先写入 {table}_temp,再在事务中重命名旧表、切换新表并删除旧表。
  5. 管道编排:Pipeline 与 PipelineStep 支持依赖声明、状态跟踪(pending/running/success/failed/skipped),依赖失败则跳过,内部使用拓扑排序。

使用方式:资料给出 Python 代码片段,示例调用为 backfill_date_range(start=date(2024, 1, 1), end=date(2024, 3, 31), process_fn=process_daily_data, parallel=4)。实际接入需自行提供数据库引擎、读写函数与调度环境。

适用场景:小表全量刷新、带时间戳大表的持续同步、源端支持 CDC 的实时更新、一次性历史迁移、关键表零停机刷新。

限制:资料未提供安装命令、依赖版本、具体数据库适配、错误重试与监控细节;拓扑排序实现以省略号占位,需自行补全。