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 ofRecords.- 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 ofExecutionOperators can provide a defaultLoadProfileEstimatorvia this method.java.lang.StringcreateSqlClause(java.sql.Connection connection, FunctionCompiler compiler)Creates a SQL clause for this instance.ProjectionDescriptor<Record,Record>getFunctionDescriptor()java.lang.StringgetLoadProfileEstimatorConfigurationKey()-
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: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
-
getFunctionDescriptor
public ProjectionDescriptor<Record,Record> getFunctionDescriptor()
- Overrides:
getFunctionDescriptorin classMapOperator<Record,Record>
-
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)
-
-