majesticlabs-dev/majestic-marketplace

etl-patterns

Production ETL patterns orchestrator.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill etl-patterns

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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

Related by task

from this repository

More skills

All skills