majesticlabs-dev/majestic-marketplace

etl-patterns

Production ETL patterns orchestrator.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill etl-patterns

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

ETL Patterns

Orchestrator for production-grade Extract-Transform-Load patterns.

Skill Routing

NeedSkillContent
Reliability patternsetl-core-patternsIdempotency, checkpointing, error handling, chunking, retry, logging
Load strategiesetl-incremental-patternsBackfill, timestamp-based, CDC, pipeline orchestration

Pattern Selection Guide

By Reliability Need

NeedPatternSkill
Repeatable runsIdempotencyetl-core-patterns
Resume after failureCheckpointingetl-core-patterns
Handle bad recordsError handling + DLQetl-core-patterns
Memory managementChunked processingetl-core-patterns
Network resilienceRetry with backoffetl-core-patterns
ObservabilityStructured loggingetl-core-patterns

By Load Strategy

ScenarioPatternSkill
Small tables (<100K)Full refreshetl-incremental-patterns
Large tablesTimestamp incrementaletl-incremental-patterns
Real-time syncCDC eventsetl-incremental-patterns
Historical migrationParallel backfilletl-incremental-patterns
Zero-downtime refreshSwap patternetl-incremental-patterns
Multi-step pipelinesPipeline orchestrationetl-incremental-patterns

Quick Reference

Idempotency Options

python
# Small datasets: Delete-then-insert
# Large datasets: UPSERT on conflict
# Change detection: Row hash comparison

Load Strategy Decision

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

Common Pipeline Structure

python
# 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/')

Related Skills

  • data-validation - Validate data quality during ETL
  • data-quality - Monitor data quality metrics
  • pandas-coder - DataFrame transformations

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills