Checking your account

You can read the lesson while its saved answers and constructions load. Learning controls will open once that work is ready.

One Training Dataset, Several Unequal Files

Move Summaries Instead of Every Row

BOTIE

Suppose a training dataset is spread across more files than one worker can process quickly. We can give each worker a portion, but then we need a way to combine its answer. Sending every original row back to one machine can recreate the bottleneck we were trying to remove.

Dean and Ghemawat's 2004 MapReduce paper described a programming model that separated work on individual records from combining results with the same key. The system handled distributing that work and retrying failed tasks. It gave programmers a way to describe the calculation without writing a separate scheduling system for every job.

For our mean, each worker can send a sum and a count. Those quantities still tell us how much data its answer represents, even when file sizes differ. A local mean alone has discarded that information. We will follow these small summaries through the same kind of merge, using ordinary Python before needing a distributed service.

Sources for this history