Class StreamExecSink
java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<Object>
org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecSink
org.apache.flink.table.planner.plan.nodes.exec.stream.StreamExecSink
- All Implemented Interfaces:
ExecNode<Object>,ExecNodeTranslator<Object>,FusionCodegenExecNode,MultipleTransformationTranslator<Object>,StreamExecNode<Object>
@ExecNodeMetadata(name="stream-exec-sink",
version=1,
consumedOptions={"table.exec.sink.not-null-enforcer","table.exec.sink.type-length-enforcer","table.exec.sink.upsert-materialize","table.exec.sink.keyed-shuffle","table.exec.sink.rowtime-inserter"},
producedTransformations={"constraint-validator","partitioner","upsert-materialize","timestamp-inserter","sink"},
minPlanVersion=v1_15,
minStateVersion=v1_15)
public class StreamExecSink
extends CommonExecSink
implements StreamExecNode<Object>
Stream
ExecNode to write data into an external sink defined by a DynamicTableSink.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringNew introduced state metadata to enable operator-level state TTL configuration.Fields inherited from class org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecSink
CONSTRAINT_VALIDATOR_TRANSFORMATION, FIELD_NAME_DYNAMIC_TABLE_SINK, PARTITIONER_TRANSFORMATION, ROW_KIND_SETTER, SINK_TRANSFORMATION, sinkParallelismConfigured, tableSinkSpec, TIMESTAMP_INSERTER_TRANSFORMATION, UPSERT_MATERIALIZE_TRANSFORMATIONFields inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_STATE, FIELD_NAME_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionStreamExecSink(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, DynamicTableSinkSpec tableSinkSpec, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, boolean upsertMaterialize, List<StateMetadata> stateMetadataList, int[] inputUpsertKey, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.LogicalType outputType, String description) StreamExecSink(org.apache.flink.configuration.ReadableConfig tableConfig, DynamicTableSinkSpec tableSinkSpec, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, InputProperty inputProperty, org.apache.flink.table.types.logical.LogicalType outputType, boolean upsertMaterialize, int[] inputUpsertKey, String description) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData>applyUpsertMaterialize(org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> inputTransform, int[] primaryKeys, int sinkParallelism, ExecNodeConfig config, ClassLoader classLoader, org.apache.flink.table.types.logical.RowType physicalRowType, int[] inputUpsertKey) protected org.apache.flink.api.dag.Transformation<Object>translateToPlanInternal(PlannerBase planner, ExecNodeConfig config) Internal method, translates this node into a Flink operator.Methods inherited from class org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecSink
createSinkTransformation, getPhysicalRowType, getPrimaryKeyIndices, getSimplifiedName, getTableSinkSpecMethods inherited from class org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase
accept, createFormattedTransformationDescription, createFormattedTransformationName, createTransformationDescription, createTransformationMeta, createTransformationMeta, createTransformationName, createTransformationUid, getContextFromAnnotation, getDescription, getId, getInputEdges, getInputProperties, getOutputType, getPersistedConfig, getTransformation, inputsContainSingleton, replaceInputEdge, setCompiled, setInputEdges, supportFusionCodegen, translateToFusionCodegenSpec, translateToFusionCodegenSpecInternal, translateToPlanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdgesMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlanMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
supportFusionCodegen, translateToFusionCodegenSpec
-
Field Details
-
FIELD_NAME_INPUT_CHANGELOG_MODE
- See Also:
-
FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE
- See Also:
-
FIELD_NAME_INPUT_UPSERT_KEY
- See Also:
-
STATE_NAME
New introduced state metadata to enable operator-level state TTL configuration.- See Also:
-
-
Constructor Details
-
StreamExecSink
public StreamExecSink(org.apache.flink.configuration.ReadableConfig tableConfig, DynamicTableSinkSpec tableSinkSpec, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, InputProperty inputProperty, org.apache.flink.table.types.logical.LogicalType outputType, boolean upsertMaterialize, int[] inputUpsertKey, String description) -
StreamExecSink
public StreamExecSink(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, DynamicTableSinkSpec tableSinkSpec, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, boolean upsertMaterialize, @Nullable List<StateMetadata> stateMetadataList, int[] inputUpsertKey, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.LogicalType outputType, String description)
-
-
Method Details
-
translateToPlanInternal
protected org.apache.flink.api.dag.Transformation<Object> translateToPlanInternal(PlannerBase planner, ExecNodeConfig config) Description copied from class:ExecNodeBaseInternal method, translates this node into a Flink operator.- Specified by:
translateToPlanInternalin classExecNodeBase<Object>- Parameters:
planner- The planner.config- per-ExecNodeconfiguration that contains the merged configuration from various layers which all the nodes implementing this method should use, instead of retrieving configuration from theplanner. For more details checkExecNodeConfig.
-
applyUpsertMaterialize
protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> applyUpsertMaterialize(org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> inputTransform, int[] primaryKeys, int sinkParallelism, ExecNodeConfig config, ClassLoader classLoader, org.apache.flink.table.types.logical.RowType physicalRowType, int[] inputUpsertKey) - Specified by:
applyUpsertMaterializein classCommonExecSink
-