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 ofExecutionOperators can provide a defaultLoadProfileEstimatorvia this method.java.lang.StringcreateSqlClause(java.sql.Connection connection, FunctionCompiler compiler)Creates a SQL clause for this instance.java.lang.StringgetLoadProfileEstimatorConfigurationKey()-
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:JdbcExecutionOperatorCreates a SQL clause for this instance. ForTableSources it returns an identifier for the table usable in aFROMclause. ForJdbcProjectionOperators it returns a list usable in aSELECTclause. ForJdbcFilterOperators it creates a condition usable in aWHEREclause. ForJdbcJoinOperatorit returns a INNER JOIN statement usable in aJOINclause. Also, these different clauses should be compatible for connectedJdbcExecutionOperators.- Specified by:
createSqlClausein interfaceJdbcExecutionOperatorcompiler- used to create SQL code- Returns:
- the SQL clause
-
getLoadProfileEstimatorConfigurationKey
public java.lang.String getLoadProfileEstimatorConfigurationKey()
- Specified by:
getLoadProfileEstimatorConfigurationKeyin interfaceExecutionOperator
-
createLoadProfileEstimator
public java.util.Optional<LoadProfileEstimator> createLoadProfileEstimator(Configuration configuration)
Description copied from interface:ExecutionOperatorDevelopers ofExecutionOperators can provide a defaultLoadProfileEstimatorvia this method.- Specified by:
createLoadProfileEstimatorin interfaceExecutionOperator- Parameters:
configuration- in which theLoadProfileshould be estimated.- Returns:
- an
Optionalthat might contain theLoadProfileEstimator(butOptional.empty()by default)
-
-