class Reducer[Input <: Identifiable[Input], Output <: Identifiable[Output]] extends UnaryComputation[Input, Output]

The Reducer Computation, which is a subclass of UnaryComputation In short, this takes an input, groups it together with an output, and then updates the output with the input.

Input

The type of the data that needs to be computed. In this case, this is bigglue.examples.GitCommitInfo This needs to be an Identifiable type.

Output

The type of the data that needs to be computed. In this case, this is bigglue.examples.GitCommitGroups This needs to be an Identifiable type.

Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Reducer
  2. UnaryComputation
  3. UnaryChecker
  4. OutputStoreChecker
  5. InputStoreChecker
  6. ConfigChecker
  7. Computation
  8. ConfigBuildsPlatform
  9. ConfigBuilds
  10. AnyRef
  11. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Reducer(groupBy: (Input) ⇒ Identity[Output], fold: (Input) ⇒ (Output) ⇒ Output, zero: Output)

    groupBy

    This is the function that has you group an input with an output. You choose the output in this case by it's Identity. In the case of the example, this would be the i => BasicIdentity(i.author) function.

    fold

    This is the function that has you update the output with the new input. In the case of the example, this would be the i => o => GitCommitGroups(i.author, o.gitCommitInfos+1) function, where i is the new input and o is the current output.

    zero

    This is the default output. This is given when the groupBy function doesn't lead to an actual output, making this the output that all outputs began as. Within the example, this would be GitCommitGroups("", 0).

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to any2stringadd[Reducer[Input, Output]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def +->[End <: Identifiable[End]](p: Pipe[Output, End]): PartialReducerPipe[Input, Output, End]

    This is part of the series of calls that make the pipeline.

    This is part of the series of calls that make the pipeline. This is called within the FindAuthor()+->authorMap step. This links the reducer to the rest of the pipeline, which in this case is bigglue.pipes.Implicits.DataNode(authorMap).

    End

    The type of the final data store within the pipeline. Within the example, this would be bigglue.examples.GitCommitGroups.

    p

    The part of the pipeline that follows the reducer computation. In the example, this is simply authorMap.

    returns

    This returns a section of the pipe where the reducer is linked together with the pipe that starts with the output data store.

  5. def ->[B](y: B): (Reducer[Input, Output], B)
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to ArrowAssoc[Reducer[Input, Output]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def check(conf: PipeConfig, inputMap: DataStore[Input], outputMap: DataStore[Output]): Unit

    Check routine for unary data processors

    Check routine for unary data processors

    conf

    the config file to check

    inputMap

    the input store to check

    outputMap

    the output store to check

    Definition Classes
    UnaryChecker
  9. def checkConfig(conf: PipeConfig): Unit

    Check that paths in configuration file relevant to host class are well-formed.

    Check that paths in configuration file relevant to host class are well-formed. Default does nothing.

    conf

    the config file to check

    Definition Classes
    ConfigChecker
  10. def checkInput(inputMap: DataStore[Input]): Unit

    Check that input store is compatible with the host class.

    Check that input store is compatible with the host class. Default does nothing.

    inputMap

    the input store to check

    Definition Classes
    InputStoreChecker
  11. def checkOutput(outputMap: DataStore[Output]): Unit

    This allows us to type check the Reducer step; In order for it to work, the output needs to be a DataMap, so we need to make sure that it is before continuing.

    This allows us to type check the Reducer step; In order for it to work, the output needs to be a DataMap, so we need to make sure that it is before continuing.

    outputMap

    The Output Store to Check

    Definition Classes
    ReducerOutputStoreChecker
  12. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. val configOpt: Option[PipeConfig]
    Definition Classes
    ConfigBuilds
  14. var configOption: ConfOpt
    Definition Classes
    Computation
  15. def constructBuilder(config: PipeConfig = null): PlatformBuilder
    Definition Classes
    ConfigBuildsPlatformConfigBuilds
  16. def ensuring(cond: (Reducer[Input, Output]) ⇒ Boolean, msg: ⇒ Any): Reducer[Input, Output]
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to Ensuring[Reducer[Input, Output]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (Reducer[Input, Output]) ⇒ Boolean): Reducer[Input, Output]
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to Ensuring[Reducer[Input, Output]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: ⇒ Any): Reducer[Input, Output]
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to Ensuring[Reducer[Input, Output]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): Reducer[Input, Output]
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to Ensuring[Reducer[Input, Output]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to StringFormat[Reducer[Input, Output]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  25. def getConfig(config: PipeConfig): PipeConfig
    Definition Classes
    ConfigBuilds
  26. def getUnaryPlatform(): UnaryPlatform[Input, Output]
    Definition Classes
    UnaryComputation
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  28. def init(conf: PipeConfig, inputMap: DataStore[Input], outputMap: DataStore[Output]): Unit

    This initializes the Reducer Computation.

    This initializes the Reducer Computation. It creates a UnaryPlatform with PlatformBuilder.reducerPlatform, then sets itself as the platform's computation, and then initializes the platform with UnaryPlatform.init.

    conf

    The configuration file to build from. Note: If there is a GitCommitInfo+->GitAuthors section in the bigglue section of the configuration file, it will overwrite part of the configuration file with the values within the step's section.

    inputMap

    The DataStore that data is being sent in from. In the example, this would be commitInfoMap, which is implemented with a bigglue.store.instances.solr.SolrDataMap.

    outputMap

    The DataStore that data is being sent to and updated from. In the example, this would be authorMap, which is implemented with a bigglue.store.instances.solr.SolrDataMap.

  29. def init(conf: PipeConfig, inputMap: DataStore[Input], outputMap: DataStore[Output], platform: UnaryPlatform[Input, Output]): Unit

    This connects the newly initialized platform to the Input Data Store by making it so the Input Data Store sends data down to the platform.

    This connects the newly initialized platform to the Input Data Store by making it so the Input Data Store sends data down to the platform.

    conf

    The configuration file.

    inputMap

    The Input Data Store

    outputMap

    The Output Data Store

    platform

    The Platform added by the Mapper or Reducer computations.

    Definition Classes
    UnaryComputation
  30. def init(config: PipeConfig, platform: Platform): Unit
    Definition Classes
    Computation
  31. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  32. def name(newName: String): UnaryComputation[Input, Output]
    Definition Classes
    UnaryComputation
  33. var name: String
    Definition Classes
    UnaryComputation
  34. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  35. final def notify(): Unit
    Definition Classes
    AnyRef
  36. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  37. def persist(): Unit

    If the computation has been initialized, it calls Platform.persist on the platform.

    If the computation has been initialized, it calls Platform.persist on the platform. This gives the platform the responsibility of what data to send/resend down the pipeline.

    Definition Classes
    Computation
  38. var platformOpt: Option[Platform]
    Definition Classes
    Computation
  39. def run(): Unit
    Definition Classes
    ReducerComputation
  40. def setConfig(pipeConfig: PipeConfig): Unit
    Definition Classes
    ConfigBuilds
  41. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  42. def terminate(): Unit
    Definition Classes
    Computation
  43. def toStep(conf: PipeConfig, step: String): PipeConfig
    Definition Classes
    Computation
  44. def toString(): String
    Definition Classes
    AnyRef → Any
  45. def tryFold(input: Input, output: Output): Option[Output]

    Attempts to call fold to get a new output for the Output Data Store If it fails, just returns None.

    Attempts to call fold to get a new output for the Output Data Store If it fails, just returns None.

    input

    The input document to update the output.

    output

    The output document that needs to be updated.

    returns

    A new output document based on input and output. Returns None if failed.

  46. def tryGroupBy(input: Input): Option[Identity[Output]]

    Attempts to call groupBy to get an Identity to get stuff to group by.

    Attempts to call groupBy to get an Identity to get stuff to group by. If that fails, then it just returns None.

    input

    The input document to find an output Identity for.

    returns

    The output identity to change; None if none.

  47. def tryZero(): Option[Output]

    Attempts to call zero to get a starting output set.

    Attempts to call zero to get a starting output set.

    returns

    The default output. In the case of the example, this would be Some(Counter(0)). Returns None if failed to get a default output.

  48. var unaryPlatformOpt: Option[UnaryPlatform[Input, Output]]
    Definition Classes
    UnaryComputation
  49. val versionOpt: Option[String]
    Definition Classes
    Computation
  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. def withConfig(newConfigOption: ConfOpt): Reducer[Input, Output]
  54. def [B](y: B): (Reducer[Input, Output], B)
    Implicit
    This member is added by an implicit conversion from Reducer[Input, Output] to ArrowAssoc[Reducer[Input, Output]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from UnaryComputation[Input, Output]

Inherited from UnaryChecker[Input, Output]

Inherited from OutputStoreChecker[Output]

Inherited from InputStoreChecker[Input]

Inherited from ConfigChecker

Inherited from Computation

Inherited from ConfigBuildsPlatform

Inherited from ConfigBuilds[PlatformBuilder]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Reducer[Input, Output] to any2stringadd[Reducer[Input, Output]]

Inherited by implicit conversion StringFormat from Reducer[Input, Output] to StringFormat[Reducer[Input, Output]]

Inherited by implicit conversion Ensuring from Reducer[Input, Output] to Ensuring[Reducer[Input, Output]]

Inherited by implicit conversion ArrowAssoc from Reducer[Input, Output] to ArrowAssoc[Reducer[Input, Output]]

Ungrouped