Function dataflow::render::reduce::build_bucketed_stage[][src]

fn build_bucketed_stage<G>(
    input: Collection<G, ((Row, u64), Vec<Row>)>,
    aggrs: Vec<AggregateFunc>,
    buckets: u64
) -> Collection<G, ((Row, u64), Vec<Row>)> where
    G: Scope,
    G::Timestamp: Lattice
Expand description

Build the dataflow for one stage of a reduction tree for multiple hierarchical aggregates.

buckets indicates the number of buckets in this stage. We do some non obvious trickery here to limit the memory usage per layer by internally holding only the elements that were rejected by this stage. However, the output collection maintains the ((key, bucket), (passing value) for this stage.