Module type MapReduce.Job

module type Job = sig .. end
MapReduce jobs transform data using the MapReduce framework

type input 
type key 
type inter 
type output 
val name : MapReduce.id
a unique name for the job
val map : input ->
(key * inter) list Deferred.t
perform the map phase. May throw an exception, in which case the job as a whole should fail.
val reduce : key * inter list ->
output Deferred.t
perform the reduce phase. May throw an exception, in which case the job as a whole should fail.