Package org.apache.wayang.jdbc.operators
Class JdbcProjectionOperator
- java.lang.Object
-
- org.apache.wayang.core.plan.wayangplan.OperatorBase
-
- org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator<InputType,OutputType>
-
- org.apache.wayang.basic.operators.MapOperator<Record,Record>
-
- org.apache.wayang.jdbc.operators.JdbcProjectionOperator
-
- All Implemented Interfaces:
java.io.Serializable
,ActualOperator
,ElementaryOperator
,ExecutionOperator
,Operator
,JdbcExecutionOperator
- Direct Known Subclasses:
GenericJdbcProjectionOperator
,PostgresProjectionOperator
,Sqlite3ProjectionOperator
public abstract class JdbcProjectionOperator extends MapOperator<Record,Record> implements JdbcExecutionOperator
Projects the fields ofRecord
s.- 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.MapOperator
functionDescriptor
-
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 JdbcProjectionOperator(java.lang.String... fieldNames)
JdbcProjectionOperator(ProjectionDescriptor<Record,Record> functionDescriptor)
JdbcProjectionOperator(MapOperator<Record,Record> that)
Copies an instance (exclusive of broadcasts).
-
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.ProjectionDescriptor<Record,Record>
getFunctionDescriptor()
java.lang.String
getLoadProfileEstimatorConfigurationKey()
-
Methods inherited from class org.apache.wayang.basic.operators.MapOperator
createCardinalityEstimator, createProjection, createProjection
-
Methods inherited from class org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator
getInput, getInputType, getOutput, 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
-
JdbcProjectionOperator
public JdbcProjectionOperator(java.lang.String... fieldNames)
-
JdbcProjectionOperator
public JdbcProjectionOperator(ProjectionDescriptor<Record,Record> functionDescriptor)
-
JdbcProjectionOperator
public JdbcProjectionOperator(MapOperator<Record,Record> that)
Copies an instance (exclusive of broadcasts).- 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
-
getFunctionDescriptor
public ProjectionDescriptor<Record,Record> getFunctionDescriptor()
- Overrides:
getFunctionDescriptor
in classMapOperator<Record,Record>
-
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)
-
-