Package org.apache.wayang.jdbc.operators
Class JdbcJoinOperator<KeyType>
- java.lang.Object
-
- org.apache.wayang.core.plan.wayangplan.OperatorBase
-
- org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator<InputType0,InputType1,Tuple2<InputType0,InputType1>>
-
- org.apache.wayang.basic.operators.JoinOperator<Record,Record,KeyType>
-
- org.apache.wayang.jdbc.operators.JdbcJoinOperator<KeyType>
-
- All Implemented Interfaces:
java.io.Serializable
,ActualOperator
,ElementaryOperator
,ExecutionOperator
,Operator
,JdbcExecutionOperator
- Direct Known Subclasses:
PostgresJoinOperator
public abstract class JdbcJoinOperator<KeyType> extends JoinOperator<Record,Record,KeyType> implements JdbcExecutionOperator
PostgreSQL implementation for theJoinOperator
.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
OperatorBase.GsonSerializer
-
-
Field Summary
-
Fields inherited from class org.apache.wayang.basic.operators.JoinOperator
keyDescriptor0, keyDescriptor1
-
Fields inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
inputSlots, outputSlots, STANDARD_OPERATOR_ARGS
-
Fields inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
FIRST_EPOCH
-
-
Constructor Summary
Constructors Constructor Description JdbcJoinOperator(JoinOperator<Record,Record,KeyType> that)
Copies an instanceJdbcJoinOperator(TransformationDescriptor<Record,KeyType> keyDescriptor0, TransformationDescriptor<Record,KeyType> keyDescriptor1)
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<LoadProfileEstimator>
createLoadProfileEstimator(Configuration configuration)
Developers ofExecutionOperator
s can provide a defaultLoadProfileEstimator
via this method.java.lang.String
createSqlClause(java.sql.Connection connection, FunctionCompiler compiler)
Creates a SQL clause for this instance.java.lang.String
getLoadProfileEstimatorConfigurationKey()
-
Methods inherited from class org.apache.wayang.basic.operators.JoinOperator
createCardinalityEstimator, getKeyDescriptor0, getKeyDescriptor1
-
Methods inherited from class org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator
getInputType0, getInputType1, getOutputType
-
Methods inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
accept, addBroadcastInput, addTargetPlatform, at, collectMappedInputSlots, collectMappedOutputSlots, copy, createCopy, getAllInputs, getAllOutputs, getCardinalityEstimator, getContainer, getEpoch, getName, getOriginal, getSimpleClassName, getTargetPlatforms, isAuxiliary, isSupportingBroadcastInputs, propagateInputCardinality, propagateOutputCardinality, setAuxiliary, setCardinalityEstimator, setContainer, setEpoch, setName, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.ActualOperator
accept
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.ElementaryOperator
createCardinalityEstimator, getCardinalityEstimator, isAuxiliary, setAuxiliary, setCardinalityEstimator
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.ExecutionOperator
copy, createOutputChannelInstances, getLimitBaseKey, getLoadProfileEstimatorConfigurationKeys, getOriginal, getOutputChannelDescriptor, isFiltered
-
Methods inherited from interface org.apache.wayang.jdbc.operators.JdbcExecutionOperator
getPlatform, getSupportedInputChannels, getSupportedOutputChannels
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
addBroadcastInput, addTargetPlatform, broadcastTo, broadcastTo, collectMappedInputSlots, collectMappedOutputSlots, connectTo, connectTo, getAllInputs, getAllOutputs, getCardinalityPusher, getContainer, getEffectiveOccupant, getEffectiveOccupant, getEpoch, getEstimationContextProperties, getForwards, getInnermostLoop, getInput, getInput, getLoopStack, getName, getNumBroadcastInputs, getNumInputs, getNumOutputs, getNumRegularInputs, getOuterInputSlot, getOutermostInputSlot, getOutermostOutputSlots, getOutput, getOutput, getParent, getTargetPlatforms, isAlternative, isElementary, isExecutionOperator, isFeedbackInput, isFeedforwardOutput, isLoopHead, isLoopSubplan, isOwnerOf, isReading, isSink, isSource, isSubplan, isSupportingBroadcastInputs, isUnconnected, propagateInputCardinality, propagateOutputCardinality, propagateOutputCardinality, setContainer, setEpoch, setInput, setName, setOutput
-
-
-
-
Constructor Detail
-
JdbcJoinOperator
public JdbcJoinOperator(TransformationDescriptor<Record,KeyType> keyDescriptor0, TransformationDescriptor<Record,KeyType> keyDescriptor1)
Creates a new instance.- See Also:
JoinOperator#JoinOperator(Record, Record...)
-
JdbcJoinOperator
public JdbcJoinOperator(JoinOperator<Record,Record,KeyType> that)
Copies an instance- Parameters:
that
- that should be copied
-
-
Method Detail
-
createSqlClause
public java.lang.String createSqlClause(java.sql.Connection connection, FunctionCompiler compiler)
Description copied from interface:JdbcExecutionOperator
Creates a SQL clause for this instance. ForTableSource
s it returns an identifier for the table usable in aFROM
clause. ForJdbcProjectionOperator
s it returns a list usable in aSELECT
clause. ForJdbcFilterOperator
s it creates a condition usable in aWHERE
clause. ForJdbcJoinOperator
it returns a INNER JOIN statement usable in aJOIN
clause. Also, these different clauses should be compatible for connectedJdbcExecutionOperator
s.- Specified by:
createSqlClause
in interfaceJdbcExecutionOperator
compiler
- used to create SQL code- Returns:
- the SQL clause
-
getLoadProfileEstimatorConfigurationKey
public java.lang.String getLoadProfileEstimatorConfigurationKey()
- Specified by:
getLoadProfileEstimatorConfigurationKey
in interfaceExecutionOperator
-
createLoadProfileEstimator
public java.util.Optional<LoadProfileEstimator> createLoadProfileEstimator(Configuration configuration)
Description copied from interface:ExecutionOperator
Developers ofExecutionOperator
s can provide a defaultLoadProfileEstimator
via this method.- Specified by:
createLoadProfileEstimator
in interfaceExecutionOperator
- Parameters:
configuration
- in which theLoadProfile
should be estimated.- Returns:
- an
Optional
that might contain theLoadProfileEstimator
(butOptional.empty()
by default)
-
-