Map, shuffle and reduce on one machine, a 1,000-node cluster and a multi-tenant YARN platform on EMR: splits, locality, sorted spills, reruns, backup tasks, Spot and S3 commits, with the theory behind them.
Data engineers building storage, streaming and processing systems.
Your approach: Use diagrams or prose for data contracts, state ownership, throughput, ordering and recovery where the brief requires them.
Design a Batch Processing Framework like MapReduce. Map, shuffle and reduce on one machine, a 1,000-node cluster and a multi-tenant YARN platform on EMR: splits, locality, sorted spills, reruns, backup tasks, Spot and S3 commits, with the theory behind them. Work from the scoping questions below. State assumptions for any unspecified load, guarantee or target, then trace your design end to end. Explain one difficult case and a credible alternative; the worked example is a reference, not a required implementation.
Resolve the scoping questions for a Batch Processing Framework like MapReduce. Separate stated behavior from assumptions, and identify what is outside your design.
Declare relevant volume, latency, freshness, quality or cost targets with units. Show calculations or an evaluation plan that can test them; unspecified targets are your assumptions, not hidden pass criteria.
Explain how your guarantees hold in a difficult case relevant to this subject. Address: Several jobs at once? Other engines?
Identify users, required behavior and exclusions. Answer: Scale? Where is the data?
Define the information owned by the system and the inputs, outputs and errors at its boundaries. Resolve: How fast? How often do machines fail?
Estimate the dominant workload and resource demand with units and explicit assumptions. For a learned system, also state how quality is measured and what data is available.
Draw or describe the responsibilities needed for a Batch Processing Framework like MapReduce. Trace a representative request, event or job from its input to a visible result; identify durable state owners.
Walk through a difficult case step by step, including detection and recovery. Consider: Output? Several jobs at once? Other engines?
Compare a credible alternative using your chosen workload and guarantees. Explain a remaining risk, a signal to watch and when you would change the design.