Trait mz_compute::extensions::arrange::MzArrangeCore

source ·
pub trait MzArrangeCore
where <Self::Scope as ScopeParent>::Timestamp: Lattice,
{ type Scope: Scope; type Input: Container + Clone + 'static; // Required method fn mz_arrange_core<P, Ba, Bu, Tr>( &self, pact: P, name: &str, ) -> Arranged<Self::Scope, TraceAgent<Tr>> where P: ParallelizationContract<<Self::Scope as ScopeParent>::Timestamp, Self::Input>, Ba: Batcher<Input = Self::Input, Time = <Self::Scope as ScopeParent>::Timestamp> + 'static, Bu: Builder<Time = <Self::Scope as ScopeParent>::Timestamp, Input = Ba::Output, Output = Tr::Batch>, Tr: Trace + TraceReader<Time = <Self::Scope as ScopeParent>::Timestamp> + 'static, Tr::Batch: Batch, Arranged<Self::Scope, TraceAgent<Tr>>: ArrangementSize; }
Expand description

Extension trait to arrange data.

Required Associated Types§

source

type Scope: Scope

The current scope.

source

type Input: Container + Clone + 'static

The data input container type.

Required Methods§

source

fn mz_arrange_core<P, Ba, Bu, Tr>( &self, pact: P, name: &str, ) -> Arranged<Self::Scope, TraceAgent<Tr>>
where P: ParallelizationContract<<Self::Scope as ScopeParent>::Timestamp, Self::Input>, Ba: Batcher<Input = Self::Input, Time = <Self::Scope as ScopeParent>::Timestamp> + 'static, Bu: Builder<Time = <Self::Scope as ScopeParent>::Timestamp, Input = Ba::Output, Output = Tr::Batch>, Tr: Trace + TraceReader<Time = <Self::Scope as ScopeParent>::Timestamp> + 'static, Tr::Batch: Batch, Arranged<Self::Scope, TraceAgent<Tr>>: ArrangementSize,

Arranges a stream of (Key, Val) updates by Key into a trace of type Tr. Partitions the data according to pact.

This operator arranges a stream of values into a shared trace, whose contents it maintains. This trace is current for all times marked completed in the output stream, and probing this stream is the correct way to determine that times in the shared trace are committed.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<G, C> MzArrangeCore for StreamCore<G, C>
where G: Scope, G::Timestamp: Lattice, C: Container + Clone + 'static,

§

type Scope = G

§

type Input = C

source§

fn mz_arrange_core<P, Ba, Bu, Tr>( &self, pact: P, name: &str, ) -> Arranged<G, TraceAgent<Tr>>
where P: ParallelizationContract<G::Timestamp, Self::Input>, Ba: Batcher<Input = Self::Input, Time = G::Timestamp> + 'static, Bu: Builder<Time = G::Timestamp, Input = Ba::Output, Output = Tr::Batch>, Tr: Trace + TraceReader<Time = G::Timestamp> + 'static, Tr::Batch: Batch, Arranged<G, TraceAgent<Tr>>: ArrangementSize,

source§

impl<G, K, V, R, C> MzArrangeCore for Collection<G, (K, V), R, C>
where G: Scope, G::Timestamp: Lattice, C: Container + Clone + 'static,

§

type Scope = G

§

type Input = C

source§

fn mz_arrange_core<P, Ba, Bu, Tr>( &self, pact: P, name: &str, ) -> Arranged<G, TraceAgent<Tr>>
where P: ParallelizationContract<G::Timestamp, Self::Input>, Ba: Batcher<Input = Self::Input, Time = <Self::Scope as ScopeParent>::Timestamp> + 'static, Bu: Builder<Time = <Self::Scope as ScopeParent>::Timestamp, Input = Ba::Output, Output = Tr::Batch>, Tr: Trace + TraceReader<Time = <Self::Scope as ScopeParent>::Timestamp> + 'static, Tr::Batch: Batch, Arranged<G, TraceAgent<Tr>>: ArrangementSize,

Implementors§

source§

impl<G, K, R> MzArrangeCore for KeyCollection<G, K, R>
where G: Scope, K: Data, G::Timestamp: Lattice, R: Data,

§

type Scope = G

§

type Input = Vec<((K, ()), <G as ScopeParent>::Timestamp, R)>