alias of monoidAggregate for convenience unlike MapPreparer's aggregate, can only take MonoidAggregator
count and following methods all just call monoidAggregate with one of the standard Aggregators.
count and following methods all just call monoidAggregate with one of the standard Aggregators. see the Aggregator object for more docs.
Filter out values that do not meet the predicate.
Filter out values that do not meet the predicate. Like flatMap, this limits future aggregations to MonoidAggregator.
Produce a new Preparer that chains this one-to-many transformation.
Produce a new Preparer that chains this one-to-many transformation. Because "many" could include "none", this limits future aggregations to those done using monoids.
Like flatMap using identity.
Like flatMap using identity.
headOption and following methods are all just calling lift with standard Aggregators see the Aggregator object for more docs
headOption and following methods are all just calling lift with standard Aggregators see the Aggregator object for more docs
transform a given Aggregator into a MonoidAggregator by lifting the reduce and present stages into Option space
transform a given Aggregator into a MonoidAggregator by lifting the reduce and present stages into Option space
Produce a new MonoidAggregator which includes the Preparer's transformation chain in its prepare stage.
Produce a new MonoidAggregator which includes the Preparer's transformation chain in its prepare stage.
Split the processing into two parallel aggregations.
Split the processing into two parallel aggregations. You provide a function which produces two different aggregators from this preparer, and it will return a single aggregator which does both aggregations in parallel. (See also Aggregator's join method.)
We really need to generate N versions of this for 3-way, 4-way etc splits.
Like monoidAggregate, but using an implicit Monoid to construct the Aggregator
A Preparer that has had one or more flatMap operations applied. It can only accept MonoidAggregators.