public class PipelineJoin<E> extends PipelineOp implements IShardwisePipelineOp<E>
IPredicate annotation to produce an "asBound"
predicate, and then executes a nested indexed subquery against that asBound
predicate, writing out a new binding set for each element returned by the
asBound predicate which satisfies the join constraint.
Note: In order to support pipelining, query plans need to be arranged in a "left-deep" manner.
Note: In scale-out, the PipelineJoin is generally annotated as a
BOpEvaluationContext.SHARDED or BOpEvaluationContext.HASHED
operator and the IPredicate is annotated for local access paths. If
you need to use remote access paths, then the PipelineJoin should be
annotated as a BOpEvaluationContext.ANY operator since it will be
issuing a remote read from each node on which it has source solutions to be
joined.
| Modifier and Type | Class and Description |
|---|---|
static interface |
PipelineJoin.Annotations |
DEFAULT_INITIAL_CAPACITY| Constructor and Description |
|---|
PipelineJoin(BOp[] args,
Map<String,Object> annotations)
Shallow copy constructor.
|
PipelineJoin(BOp[] args,
NV... annotations)
Shallow copy vararg constructor.
|
PipelineJoin(PipelineJoin<E> op)
Deep copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
IConstraint[] |
constraints() |
FutureTask<Void> |
eval(BOpContext<IBindingSet> context)
Return a
FutureTask which computes the operator against the
evaluation context. |
int |
getMaxParallelChunks() |
IPredicate<E> |
getPredicate()
The predicate which reads or writes on the shard.
|
PipelineJoinStats |
newStats()
Return a new object which can be used to collect statistics on the
operator evaluation.
|
IVariable<?>[] |
variablesToKeep() |
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, toArrayannotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toStringpublic PipelineJoin(PipelineJoin<E> op)
op - public PipelineJoin(BOp[] args, NV... annotations)
args - annotations - public IPredicate<E> getPredicate()
getPredicate in interface IShardwisePipelineOp<E>AccessPathJoinAnnotations.PREDICATEpublic IConstraint[] constraints()
JoinAnnotations.CONSTRAINTSpublic int getMaxParallelChunks()
public IVariable<?>[] variablesToKeep()
JoinAnnotations.SELECTpublic PipelineJoinStats newStats()
PipelineOpnewStats in class PipelineOppublic FutureTask<Void> eval(BOpContext<IBindingSet> context)
PipelineOpFutureTask which 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).eval in class PipelineOpcontext - The evaluation context.FutureTask which will compute the operator's
evaluation.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.