batch-processing

Design idempotent batch jobs for bounded datasets with Spark and Hadoop.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/hung-phan/system-skills --skill batch-processing-hung-phan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: batch-processing
Source: https://github.com/hung-phan/system-skills/tree/main/skills/system-review/references/data-systems/batch-processing
Command: npx skills add https://github.com/hung-phan/system-skills --skill batch-processing-hung-phan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyspark, hadoop, hdfs, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps in designing idempotent, restartable batch jobs that process bounded datasets efficiently, ensuring accuracy and reliability over time.

Core Features & Use Cases

  • Idempotent Jobs: Ensures that rerunning a job produces the same results as running it once, crucial for debugging and backfilling.
  • Batch Job Design: Focuses on batch job architecture, including dataflow, shuffling, and partitioning.
  • Use Case: For instance, a batch job for calculating daily revenue, where rerunning the job with the same input date should not affect the final results.

Quick Start

To create a batch job that calculates daily revenue, use the following template: python batch_job_template.py --dt YYYY-MM-DD.

Frequently Asked Questions about batch-processing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design idempotent batch jobs in Spark for bounded datasets?

Idempotent batch jobs ensure rerunning the same processing produces identical results without duplication. This approach guarantees deterministic, reproducible outcomes for bounded datasets, which is crucial for reliable data warehousing, ETL, and historical data analysis.

Why does rerunning a Hadoop batch job create duplicate data in my ETL pipeline?

Rerunning non-idempotent Hadoop batch jobs duplicates data because they lack deterministic output checks. Applying idempotence principles ensures reruns produce the same final state as a single run, preventing duplicate records in your ETL pipeline.

What's the best way to partition data for daily revenue batch processing?

Partitioning data for daily revenue batch processing requires structuring Spark dataflow and shuffling to handle bounded datasets deterministically. This design ensures idempotent calculations, where rerunning the job with the same input date does not affect final results.

Do I need prior knowledge of Hadoop and HDFS to use this batch processing approach?

Yes, you need knowledge of Spark, Hadoop, HDFS, and idempotence principles to use this batch processing approach. This prerequisite expertise ensures job correctness, efficient execution, and proper handling of bounded datasets.

How do I backfill historical data without affecting current batch job results?

Backfilling historical data without affecting current results requires idempotent batch jobs that process bounded datasets deterministically. This guarantees rerunning jobs for historical dates yields reproducible outcomes without altering the existing final state.