Struct dataflow_types::plan::reduce::BucketedPlan[][src]

pub struct BucketedPlan {
    pub aggr_funcs: Vec<AggregateFunc>,
    pub skips: Vec<usize>,
    pub buckets: Vec<u64>,
}
Expand description

Plan for computing a set of hierarchical aggregations with non-monotonic inputs.

To perform hierarchical aggregations with stable runtimes under updates we’ll subdivide the group key into buckets, compute the reduction in each of those subdivided buckets and then combine the results into a coarser bucket (one that represents a larger fraction of the original input) and redo the reduction in another layer. Effectively, we’ll construct a min / max heap out of a series of reduce operators (each one is a separate layer).

Fields

aggr_funcs: Vec<AggregateFunc>

All of the aggregations we were asked to compute.

skips: Vec<usize>

Set of “skips” or calls to nth() an iterator needs to do over the input to extract the relevant datums.

buckets: Vec<u64>

The number of buckets in each layer of the reduction tree. Should be decreasing, and ideally, a power of two so that we can easily distribute values to buckets with value.hashed() % bucketes[layer].

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Upcasts this ProgressEventTimestamp to Any. Read more

Returns the name of the concrete type of this object. Read more

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more