Struct differential_dataflow::operators::arrange::Arranged [] [src]

pub struct Arranged<G: Scope, K, V, R, T> where
    G::Timestamp: Lattice + Ord,
    T: TraceReader<K, V, G::Timestamp, R> + Clone
{ pub stream: Stream<G, BatchWrapper<T::Batch>>, pub trace: T, }

An arranged collection of (K,V) values.

An Arranged allows multiple differential operators to share the resources (communication, computation, memory) required to produce and maintain an indexed representation of a collection.

Fields

A stream containing arranged updates.

This stream contains the same batches of updates the trace itself accepts, so there should be no additional overhead to receiving these records. The batches can be navigated just as the batches in the trace, by key and by value.

A shared trace, updated by the Arrange operator and readable by others.

Methods

impl<G: Scope, K, V, R, T> Arranged<G, K, V, R, T> where
    G::Timestamp: Lattice + Ord,
    T: TraceReader<K, V, G::Timestamp, R> + Clone
[src]

[src]

Brings an arranged collection into a nested scope.

This method produces a proxy trace handle that uses the same backing data, but acts as if the timestamps have all been extended with an additional coordinate with the default value. The resulting collection does not vary with the new timestamp coordinate.

[src]

Flattens the stream into a Collection.

The underlying Stream<G, BatchWrapper<T::Batch>> is a much more efficient way to access the data, and this method should only be used when the data need to be transformed or exchanged, rather than supplied as arguments to an operator using the same key-value structure.

Trait Implementations

impl<G: Scope, K: Data, V: Data, T1, R: Diff> GroupArranged<G, K, V, R> for Arranged<G, K, V, R, T1> where
    G::Timestamp: Lattice + Ord,
    T1: TraceReader<K, V, G::Timestamp, R> + Clone + 'static,
    T1::Batch: BatchReader<K, V, G::Timestamp, R>, 
[src]

[src]

Applies group to arranged data, and returns an arrangement of output data. Read more

impl<G, K, V, R1, T1> JoinCore<G, K, V, R1> for Arranged<G, K, V, R1, T1> where
    K: Ord,
    G: Scope,
    G::Timestamp: Lattice + Ord + Debug,
    K: Debug + Eq + 'static,
    V: Ord + Clone + Debug + 'static,
    R1: Diff,
    T1: TraceReader<K, V, G::Timestamp, R1> + Clone + 'static,
    T1::Batch: BatchReader<K, V, G::Timestamp, R1> + 'static + Debug
[src]

[src]

Joins two arranged collections with the same key type. Read more

impl<G: Scope, K: Data, R: Diff, T1> CountTotalCore<G, K, R> for Arranged<G, K, (), R, T1> where
    G::Timestamp: TotalOrder + Lattice + Ord,
    T1: TraceReader<K, (), G::Timestamp, R> + Clone + 'static,
    T1::Batch: BatchReader<K, (), G::Timestamp, R>, 
[src]

[src]

Applies group to arranged data, and returns an arrangement of output data. Read more

impl<G: Scope, K: Data, R: Diff, T1> DistinctTotalCore<G, K, R> for Arranged<G, K, (), R, T1> where
    G::Timestamp: TotalOrder + Lattice + Ord,
    T1: TraceReader<K, (), G::Timestamp, R> + Clone + 'static,
    T1::Batch: BatchReader<K, (), G::Timestamp, R>, 
[src]

[src]

Applies distinct to arranged data, and returns a collection of output data. Read more