CollectionTRecord, TTime InterfaceNaiad Help

[This is preliminary documentation and is subject to change.]

A collection is a multiset of records that varies according to a logical timestamp.

Namespace: Microsoft.Research.Naiad.Frameworks.DifferentialDataflow
Assembly: Microsoft.Research.Naiad.DifferentialDataflow (in Microsoft.Research.Naiad.DifferentialDataflow.dll) Version: 0.5.0.0 (0.5.0.0)
Syntax

C#
public interface Collection<TRecord, TTime>
where TRecord : Object, IEquatable<TRecord>
where TTime : Object, Time<TTime>

Type Parameters

TRecord
The type of records in the collection.
TTime
The type of timestamp on each record.

The CollectionTRecord, TTime type exposes the following members.

Methods

  NameDescription
Public methodAggregateTKey, TValue, TOutput
Groups records using the supplied key selector, and applies the given aggregation function.
Public methodCoGroupByTKey, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, TKey, ExpressionFuncTRecord2, TKey, ExpressionFuncTKey, IEnumerableWeightedTRecord, IEnumerableWeightedTRecord2, IEnumerableWeightedTOutput)
Groups records from both input collections using the respective key selector, and applies the given reduction function.
Public methodCoGroupByTKey, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, TKey, ExpressionFuncTRecord2, TKey, ExpressionFuncTKey, IEnumerableTRecord, IEnumerableTRecord2, IEnumerableTOutput)
Groups records from both input collections using the respective key selector, and applies the given reduction function.
Public methodCoGroupByTKey, TValue1, TValue2, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, TKey, ExpressionFuncTRecord2, TKey, ExpressionFuncTRecord, TValue1, ExpressionFuncTRecord2, TValue2, ExpressionFuncTKey, IEnumerableWeightedTValue1, IEnumerableWeightedTValue2, IEnumerableWeightedTOutput)
Groups records from both input collections using the respective key selector, and applies the given reduction function.
Public methodCoGroupByTKey, TValue1, TValue2, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, TKey, ExpressionFuncTRecord2, TKey, ExpressionFuncTRecord, TValue1, ExpressionFuncTRecord2, TValue2, ExpressionFuncTKey, IEnumerableTValue1, IEnumerableTValue2, IEnumerableTOutput)
Groups records from both input collections using the respective key selector, and applies the given reduction function.
Public methodConcat
Computes the concatenation of this collection and the other collection.
Public methodConsolidate
Consolidates a collection so that each record occurs with at most one weight.
Public methodConsolidateTKey(ExpressionFuncTRecord, TKey)
Consolidates representation so that each record occurs with at most one weight.
Public methodCountTKey(ExpressionFuncTRecord, TKey)
Groups records using the supplied key selector, and counts the number of records in each group.
Public methodCountTKey, TOutput(ExpressionFuncTRecord, TKey, ExpressionFuncTKey, Int64, TOutput)
Groups records using the supplied key selector, and counts the number of records in each group.
Public methodDistinct
Computes the set of distinct records in this collection.
Public methodEnterLoop(LoopContextTTime)
Enables this collection to be used as a constant in the given loop context.
Public methodEnterLoop(LoopContextTTime, FuncTRecord, Int32)
Enables this collection to be used in the given loop context, where each record may be introduced at a different iteration.
Public methodExcept
Computes the multiset difference of this collection minus the other collection.
Public methodFixedPoint(FuncLoopContextTTime, CollectionTRecord, IterationInTTime, CollectionTRecord, IterationInTTime)
Computes the fixed point of the subquery f applied to this collection.
Public methodFixedPoint(FuncLoopContextTTime, CollectionTRecord, IterationInTTime, CollectionTRecord, IterationInTTime, Int32)
Computes the fixed point of the subquery f applied to this collection.
Public methodFixedPointTKey(FuncLoopContextTTime, CollectionTRecord, IterationInTTime, CollectionTRecord, IterationInTTime, ExpressionFuncTRecord, TKey)
Computes the fixed point of the subquery f applied to this collection.
Public methodFixedPointTKey(FuncLoopContextTTime, CollectionTRecord, IterationInTTime, CollectionTRecord, IterationInTTime, ExpressionFuncTRecord, TKey, Int32)
Computes the fixed point of the subquery f applied to this collection.
Public methodGeneralFixedPointTKey
Computes the fixed point of the subquery f applied to this collection.
Public methodGroupByTKey, TOutput(ExpressionFuncTRecord, TKey, FuncTKey, IEnumerableTRecord, IEnumerableTOutput)
Groups records using the supplied key selector, and applies the given reduction function.
Public methodGroupByTKey, TValue, TOutput(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, TValue, FuncTKey, IEnumerableTValue, IEnumerableTOutput)
Groups records using the supplied key selector, and applies the given reduction function.
Public methodIntersect
Computes the multiset intersection of this collection and the other collection.
Public methodJoinTKey, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, TKey, ExpressionFuncTRecord2, TKey, ExpressionFuncTRecord, TRecord2, TOutput)
Joins this collection with the other collection, using the respective key selectors.
Public methodJoinTValue1, TValue2, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, Int32, ExpressionFuncTRecord2, Int32, ExpressionFuncTRecord, TValue1, ExpressionFuncTRecord2, TValue2, ExpressionFuncInt32, TValue1, TValue2, TOutput, Boolean)
Joins this collection with the other collection, using the respective integer-valued key selectors.
Public methodJoinTKey, TValue1, TValue2, TRecord2, TOutput(CollectionTRecord2, TTime, ExpressionFuncTRecord, TKey, ExpressionFuncTRecord2, TKey, ExpressionFuncTRecord, TValue1, ExpressionFuncTRecord2, TValue2, ExpressionFuncTKey, TValue1, TValue2, TOutput)
Joins this collection with the other collection, using the respective key selectors.
Public methodMaxTKey, TComparable(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, TComparable)
Groups records using the supplied key selector, and computes the maximum value in each group.
Public methodMaxTKey, TComparable, TValue(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, TValue, ExpressionFuncTKey, TValue, TComparable, ExpressionFuncTKey, TValue, TRecord)
Groups records using the supplied key selector, and computes the maximum value in each group.
Public methodMinTKey, TComparable(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, TComparable)
Groups records using the supplied key selector, and computes the minimum value in each group.
Public methodMinTValue, TComparable(ExpressionFuncTRecord, Int32, ExpressionFuncTRecord, TValue, ExpressionFuncInt32, TValue, TComparable, ExpressionFuncInt32, TValue, TRecord, Boolean)
Groups records using the supplied integer-valued key selector, and computes the minimum value in each group.
Public methodMinTKey, TComparable, TValue(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, TValue, ExpressionFuncTKey, TValue, TComparable, ExpressionFuncTKey, TValue, TRecord)
Groups records using the supplied key selector, and computes the minimum value in each group.
Public methodMonitor
Applies the given action to the records in this collection once for each timestamp on each worker, for monitoring.
Public methodPartitionByTKey
Partitions a collection by the given key selector.
Public methodSelectTOutput
Transforms each record in the collection using the given selector function.
Public methodSelectManyTOutput(ExpressionFuncTRecord, IEnumerableArraySegmentTOutput)
Transforms each record in the collection using the given selector function and flattens the result.
Public methodSelectManyTOutput(ExpressionFuncTRecord, IEnumerableTOutput)
Transforms each record in the collection using the given selector function and flattens the result.
Public methodSumTKey, TOutput(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, Double, ExpressionFuncTKey, Double, TOutput)
Groups records using the supplied key selector, and computes the sum of the records in each group.
Public methodSumTKey, TOutput(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, Int32, ExpressionFuncTKey, Int32, TOutput)
Groups records using the supplied key selector, and computes the sum of the records in each group.
Public methodSumTKey, TOutput(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, Int64, ExpressionFuncTKey, Int64, TOutput)
Groups records using the supplied key selector, and computes the sum of the records in each group.
Public methodSumTKey, TOutput(ExpressionFuncTRecord, TKey, ExpressionFuncTRecord, Single, ExpressionFuncTKey, Single, TOutput)
Groups records using the supplied key selector, and computes the sum of the records in each group.
Public methodSymmetricDifference
Computes the multiset symmetric difference of this collection and the other collection.
Public methodUnion
Computes the multiset union of this collection and the other collection.
Public methodWhere
Filters the collection to contain only records that match the given predicate.
Top
Properties

  NameDescription
Public propertyOutput
Top
Remarks

The TTime type parameter is used to ensure that collections are combined in compatible ways, and need not be manipulated directly by the programmer. Initially, InputCollectionTRecord collections have an integer-valued Epoch timestamp, which indicates that they vary according to a stream of input epochs. The EnterLoop(LoopContextTTime) method is used to refer to a collection within a loop, by augmenting its timestamp to have an IterationInTTime value with an additional loop counter.
See Also

Reference