I've never implemented an InputSplit, but I'm concerned about managing the parallelism here. Ideally, it would be great to read + write from as many tasks as the stores can take.