class MapReduce[F[_], K, V, K1, V1] extends Process[F] with StrictLogging
In-memory implementation of MapReduce algorithm:
- F
an effect type
- K
initial key type
- V
initial value type
- K1
key type produced by mapper
- V1
value type produced by mapper
- Alphabetic
- By Inheritance
- MapReduce
- StrictLogging
- Process
- FlowSyntax
- EventSyntax
- WithDsl
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
MapReduce(mapperFunction: (Record[K, V]) ⇒ Seq[Record[K1, V1]], nMapperWorkers: Int, reducerFunction: (K1, Seq[V1]) ⇒ V1, nReducerWorkers: Int)(implicit arg0: Ordering[K1])
- mapperFunction
a function that takes a V - pair of (key, value) and produces a sequence of V1
- nMapperWorkers
the number of mapper workers. Tasks aren't assigned to workers, instead workers stealing tasks from the task queue
- reducerFunction
a function that takes a key and values associated with this key and produces a single value
- nReducerWorkers
the number of reducer workers. Records assigned to a worker using a partition function:
key.hashCode() % nReducerWorkers
Type Members
-
implicit
class
EventOps extends AnyRef
- Definition Classes
- EventSyntax
-
implicit
class
EventSeqOps extends AnyRef
- Definition Classes
- EventSyntax
-
implicit
class
FreeOps[A] extends AnyRef
- Definition Classes
- FlowSyntax
-
class
MapWorker extends Process[F]
Mapper worker reads chucks from the shared queue.
Mapper worker reads chucks from the shared queue. Once the queue is empty the worker stops itself.
-
type
Program = Free[[β$0$]FlowOp[F, β$0$], Unit]
- Definition Classes
- Process
-
type
Receive = PartialFunction[Event, DslF[F, Unit]]
- Definition Classes
- Process
- class ReduceWorker extends Process[F]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
++[B](that: Process[F]): Process[F]
- Definition Classes
- Process
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
and(that: Process[F]): Process[F]
- Definition Classes
- Process
-
def
apply(e: Event): Program
- Definition Classes
- Process
-
def
apply(caller: ProcessRef, e: Event): Program
- Definition Classes
- Process
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
val
dsl: FlowOps[F, [β$19$]FlowOp[F, β$19$]]
- Attributes
- protected
- Definition Classes
- WithDsl
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
handle: Receive
- Definition Classes
- MapReduce → Process
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- StrictLogging
-
val
name: String
- Definition Classes
- Process
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
or(that: Process[F]): Process[F]
- Definition Classes
- Process
-
val
ref: ProcessRef
- Definition Classes
- Process
-
def
switch(newHandler: ⇒ Receive): Program
- Definition Classes
- Process
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Process → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )