public class PipelinedAggregationOp extends GroupByOp implements ISingleThreadedOp
Note: This implementation is a pipelined operator which inspects each chunk
of solutions as they arrive. The state is shared across invocations of the
operator for each source chunk. The operator waits until the last chunk has
been consumed before writing the output solutions. In order to observe the
lastInvocation signal, the operator MUST be single threaded (
PipelineOp.Annotations#MAX_PARALLEL:=1) and running on the query
Note: Since this operator evaluates
IAggregates incrementally (one
input solution at a time), it relies on
IAggregate's contract for
"sticky" errors. See
Note: This this operator will be invoked multiple times, and potentially on
multiple nodes in a cluster, it is critical that the anonymous variables
assigned by the
GroupByRewriter are stable across all invocations on
any node of the cluster (this caution also applies for a single node where
the operator can still be invoked multiple times).
|Modifier and Type||Class and Description|
|Constructor and Description|
Required shallow copy constructor.
Constructor required for
|Modifier and Type||Method and Description|
Return a new object which can be used to collect statistics on the operator evaluation.
assertAtOnceJavaHeapOp, assertMaxParallelOne, getChunkCapacity, getChunkOfChunksCapacity, getChunkTimeout, getMaxMemory, getMaxParallel, isAtOnceEvaluation, isBlockedEvaluation, isLastPassRequested, isPipelinedEvaluation, isReorderSolutions, isSharedState
__replaceArg, _clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toString
public PipelinedAggregationOp(PipelinedAggregationOp op)
public boolean isPipelinedAggregationOp()
trueiff this operator supports pipelined aggregation
Note: Pipelined aggregation is only possible when (a) DISTINCT is not
used in the
IAggregates; and (b)
IAggregates are not
nested within other
IAggregates. An implementation which returns
true for this method MUST NOT be used for aggregation
operations which would violate either of these constraints.
public int getInitialCapacity()
public float getLoadFactor()
public BOpStats newStats()
public FutureTask<Void> eval(BOpContext<IBindingSet> context)
FutureTaskwhich computes the operator against the evaluation context. The caller is responsible for executing the
FutureTask(this gives them the ability to hook the completion of the computation).
Copyright © 2006–2016 SYSTAP, LLC DBA Blazegraph. All rights reserved.