public abstract class SolutionSetHashJoinOp extends PipelineOp
HTree
or a JVM HashMap
.
While this JOIN requires the RHS hash index to be fully materialized,
evaluation of the LHS source solutions is pipelined.
Parallel evaluation of source chunks is permitted, but the RHS hash index
must have been checkpointed before this operator begins evaluation (the
read-only HTree
is thread-safe for concurrent readers). The
checkpoint is a NOP for the thread-safe JVM ConcurrentHashMap
collection class.
A HTree
solution set must be be constructed by a
HTreeNamedSubqueryOp
or a HTreeHashIndexOp
. A JVM solution
set must be constructed by a JVMNamedSubqueryOp
or
JVMHashIndexOp
.
PipelineOp.Annotations#LAST_PASS
evaluation MUST be requested for any
other than a JoinTypeEnum.Normal
. See
ChunkTask#doLastPass(UnsyncLocalOutputBuffer)
for details.
TODO This class could be made concrete. There is no logic it in that is
specific to either the HTree
or JVM hash join operation.INamedSubqueryOp
,
HashIndexOp
,
Serialized FormModifier and Type | Class and Description |
---|---|
static interface |
SolutionSetHashJoinOp.Annotations |
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
SolutionSetHashJoinOp(BOp[] args,
Map<String,Object> annotations)
Shallow copy constructor.
|
SolutionSetHashJoinOp(BOp[] args,
NV... annotations) |
SolutionSetHashJoinOp(SolutionSetHashJoinOp op)
Deep copy constructor.
|
Modifier and Type | Method and Description |
---|---|
FutureTask<Void> |
eval(BOpContext<IBindingSet> context)
Return a
FutureTask which computes the operator against the
evaluation context. |
BaseJoinStats |
newStats()
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 SolutionSetHashJoinOp(SolutionSetHashJoinOp op)
public SolutionSetHashJoinOp(BOp[] args, Map<String,Object> annotations)
args
- annotations
- public BaseJoinStats newStats()
PipelineOp
newStats
in class PipelineOp
public FutureTask<Void> eval(BOpContext<IBindingSet> context)
PipelineOp
FutureTask
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 PipelineOp
context
- The evaluation context.FutureTask
which will compute the operator's
evaluation.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.