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