sig
module type Computation =
sig
type input
type key
type value
type output
val compare_keys :
MapReduce.Computation.key -> MapReduce.Computation.key -> int
val map :
MapReduce.Computation.input ->
(MapReduce.Computation.key * MapReduce.Computation.value) list
val combine :
MapReduce.Computation.key ->
MapReduce.Computation.value ->
MapReduce.Computation.value -> MapReduce.Computation.value
val reduce :
MapReduce.Computation.key ->
MapReduce.Computation.value ->
MapReduce.Computation.output -> MapReduce.Computation.output
end
module type S =
sig
type input
type output
val compute :
ThreadPoolExecutor.t ->
MapReduce.S.input Stream.t ->
MapReduce.S.output -> MapReduce.S.output
end
module Make :
functor (C : Computation) ->
sig
type input = C.input
type output = C.output
val compute :
ThreadPoolExecutor.t -> input Stream.t -> output -> output
end
end