module MapReduce: sig .. end
The core MapReduce types --- Job, App, and Controller
type id = string
Job interface
module type Job = sig .. end
MapReduce jobs transform data using the MapReduce framework
The following three functions are used by the framework to find the module
corresponding to a Job. For each module J of type Job, you must call register_job (module J)
so that the framework can find the module when needed.
val register_job : (module MapReduce.Job) -> unit
val get_job : id -> (module MapReduce.Job) option
val list_jobs : unit -> id list
Controller interface
module type Controller = functor (Job : Job) -> sig .. end
MapReduce Apps
module type EntryPoint = sig .. end
module type App = sig .. end
The following three functions are used by the framework to find the module
corresponding to an App. For each module A of type App, you must call register_job (module A)
so that the framework can find the module when needed. We have done this
in the starter code we've provided.
val register_app : (module MapReduce.App) -> unit
val get_app : id -> (module MapReduce.App) option
val list_apps : unit -> id list