mcpField
E
etl-patterns

etl-patterns

github.com/majesticlabs-dev数据与数据库5084 次安装7 周前更新
代码仓库

关于 etl-patterns

etl-patterns 是面向数据工程工作流的 ETL 模式导航技能,按可靠性需求和加载场景引导选择实现方式。它涵盖重试、检查点、增量加载及管道编排。

主要功能

  1. 01按可靠性需求选择模式
  2. 02指导增量加载策略
  3. 03涵盖检查点与重试
  4. 04提供常见管道结构参考

适用场景

  1. 01设计可从故障恢复的 ETL 流程
  2. 02为大型表选择增量加载方式
  3. 03规划历史数据回填
  4. 04编排多步骤数据管道

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill etl-patterns

安装后在 Claude Code 中输入/etl-patterns确认已加载。

详细介绍

ETL 模式

用于生产级提取-转换-加载模式的编排器。

技能路由

需求技能内容
可靠性模式etl-core-patterns幂等性、检查点、错误处理、分块、重试、日志记录
加载策略etl-incremental-patterns回填、基于时间戳、CDC、管道编排

模式选择指南

按可靠性需求
需求模式技能
可重复运行幂等性etl-core-patterns
故障后恢复检查点etl-core-patterns
处理错误记录错误处理 + DLQetl-core-patterns
内存管理分块处理etl-core-patterns
网络弹性带退避的重试etl-core-patterns
可观测性结构化日志记录etl-core-patterns
按加载策略
场景模式技能
小型表(<100K)全量刷新etl-incremental-patterns
大型表基于时间戳的增量加载etl-incremental-patterns
实时同步CDC 事件etl-incremental-patterns
历史迁移并行回填etl-incremental-patterns
零停机刷新交换模式etl-incremental-patterns
多步骤管道管道编排etl-incremental-patterns

快速参考

幂等性选项
# Small datasets: Delete-then-insert
# Large datasets: UPSERT on conflict
# Change detection: Row hash comparison
加载策略决策
Is table < 100K rows?
  → Full refresh

Has reliable timestamp column?
  → Timestamp incremental

Source supports CDC?
  → CDC event processing

Need zero downtime?
  → Swap pattern (temp table → rename)

One-time historical load?
  → Parallel backfill with date ranges

常见管道结构

# 1. Setup
checkpoint = Checkpoint('.etl_checkpoint.json')
processor = ETLProcessor()

# 2. Extract (with incremental)
df = incremental_by_timestamp(source_table, 'updated_at')

# 3. Transform (with error handling)
transformed = processor.process_batch(df.to_dict('records'))

# 4. Load (with idempotency)
upsert_records(pd.DataFrame(transformed))

# 5. Checkpoint
checkpoint.set_last_processed('sync', df['updated_at'].max())

# 6. Handle failures
processor.save_failures('failures/')

相关技能

  • data-validation - 在 ETL 过程中验证数据质量
  • data-quality - 监控数据质量指标
  • pandas-coder - DataFrame 转换

评论

支持 Markdown