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 パターン

本番環境向けの Extract-Transform-Load パターンを実現するオーケストレーターです。

スキルの振り分け

必要な内容スキル内容
信頼性パターン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 の変換

コメント