Class StreamGraph
- java.lang.Object
-
- org.apache.flink.streaming.api.graph.StreamGraph
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.dag.Pipeline,ExecutionPlan
@Internal public class StreamGraph extends Object implements org.apache.flink.api.dag.Pipeline, ExecutionPlan
Class representing the streaming topology. It contains all the information necessary to build the jobgraph for the execution.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<Integer,String>vertexIDtoBrokerIDprotected Map<Integer,Long>vertexIDtoLoopTimeout
-
Constructor Summary
Constructors Constructor Description StreamGraph(org.apache.flink.configuration.Configuration jobConfiguration, org.apache.flink.api.common.ExecutionConfig executionConfig, CheckpointConfig checkpointConfig, SavepointRestoreSettings savepointRestoreSettings)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <IN1,IN2,OUT>
voidaddCoOperator(Integer vertexID, String slotSharingGroup, String coLocationGroup, StreamOperatorFactory<OUT> taskOperatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN1> in1TypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<IN2> in2TypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)voidaddEdge(Integer upStreamVertexID, Integer downStreamVertexID, int typeNumber)voidaddEdge(Integer upStreamVertexID, Integer downStreamVertexID, int typeNumber, IntermediateDataSetID intermediateDataSetId)voidaddJar(org.apache.flink.core.fs.Path jar)Adds the path of a JAR file required to run the job on a task manager.voidaddJars(List<URL> jarFilesToAttach)Adds the given jar files to theJobGraphviaJobGraph.addJar(org.apache.flink.core.fs.Path).<IN,OUT>
voidaddLegacySource(Integer vertexID, String slotSharingGroup, String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)<OUT> voidaddMultipleInputOperator(Integer vertexID, String slotSharingGroup, String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, List<org.apache.flink.api.common.typeinfo.TypeInformation<?>> inTypeInfos, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)protected StreamNodeaddNode(Integer vertexID, String slotSharingGroup, String coLocationGroup, Class<? extends TaskInvokable> vertexClass, StreamOperatorFactory<?> operatorFactory, String operatorName)<IN,OUT>
voidaddOperator(Integer vertexID, String slotSharingGroup, String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)<IN,OUT>
voidaddSink(Integer vertexID, String slotSharingGroup, String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)<IN,OUT>
voidaddSource(Integer vertexID, String slotSharingGroup, String coLocationGroup, SourceOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)voidaddUserArtifact(String name, org.apache.flink.api.common.cache.DistributedCache.DistributedCacheEntry file)voidaddUserJarBlobKey(PermanentBlobKey key)Adds a blob key corresponding to a user JAR.voidaddVirtualPartitionNode(Integer originalId, Integer virtualId, StreamPartitioner<?> partitioner, StreamExchangeMode exchangeMode)Adds a new virtual node that is used to connect a downstream vertex to an input with a certain partitioning.voidaddVirtualSideOutputNode(Integer originalId, Integer virtualId, org.apache.flink.util.OutputTag outputTag)Adds a new virtual node that is used to connect a downstream vertex to only the outputs with the selected side-outputOutputTag.voidclear()Remove all registered nodes etc.voidcreateJobCheckpointingSettings()voiddeserializeUserDefinedInstances(ClassLoader userClassLoader, Executor serializationExecutor)StringgetBrokerID(Integer vertexID)CheckpointConfiggetCheckpointConfig()org.apache.flink.core.execution.CheckpointingModegetCheckpointingMode()static org.apache.flink.core.execution.CheckpointingModegetCheckpointingMode(CheckpointConfig checkpointConfig)JobCheckpointingSettingsgetCheckpointingSettings()Gets the settings for job checkpointing.List<URL>getClasspath()List<URL>getClasspaths()Gets the classpath required for the job.org.apache.flink.api.common.ExecutionConfiggetExecutionConfig()GlobalStreamExchangeModegetGlobalStreamExchangeMode()longgetInitialClientHeartbeatTimeout()Gets the initial client heartbeat timeout.org.apache.flink.configuration.ConfigurationgetJobConfiguration()Gets the job configuration.JobGraphgetJobGraph()Gets the assembledJobGraphwith a randomJobID.JobGraphgetJobGraph(ClassLoader userClassLoader)JobGraphgetJobGraph(ClassLoader userClassLoader, org.apache.flink.api.common.JobID jobID)Gets the assembledJobGraphwith a specifiedJobID.org.apache.flink.api.common.JobIDgetJobID()Gets the unique identifier of the job.StringgetJobName()List<org.apache.flink.core.execution.JobStatusHook>getJobStatusHooks()JobTypegetJobType()Gets the type of the job.LineageGraphgetLineageGraph()longgetLoopTimeout(Integer vertexID)intgetMaximumParallelism()Gets the maximum parallelism level for the job.StringgetName()Gets the name of the job.SavepointRestoreSettingsgetSavepointRestoreSettings()Gets the settings for restoring from a savepoint.org.apache.flink.util.SerializedValue<org.apache.flink.api.common.ExecutionConfig>getSerializedExecutionConfig()Gets the serialized execution configuration.byte[]getSerializedWatermarkDeclarations()Get serialized watermark declarations, note that it may be null.Collection<Integer>getSinkIDs()StringgetSlotSharingGroup(Integer id)Determines the slot sharing group of an operation across virtual nodes.Optional<ResourceProfile>getSlotSharingGroupResource(String groupId)Collection<Integer>getSourceIDs()StreamNodegetSourceVertex(StreamEdge edge)StateBackendgetStateBackend()List<StreamEdge>getStreamEdges(int sourceId)List<StreamEdge>getStreamEdges(int sourceId, int targetId)List<StreamEdge>getStreamEdgesOrThrow(int sourceId, int targetId)Deprecated.StringgetStreamingPlanAsJSON()StreamNodegetStreamNode(Integer vertexID)Collection<StreamNode>getStreamNodes()List<StreamNode>getStreamNodesSortedTopologicallyFromSources()StreamNodegetTargetVertex(StreamEdge edge)InternalTimeServiceManager.ProvidergetTimerServiceProvider()Map<String,org.apache.flink.api.common.cache.DistributedCache.DistributedCacheEntry>getUserArtifacts()Gets the user artifacts associated with the job.List<PermanentBlobKey>getUserJarBlobKeys()Returns a list of BLOB keys referring to the JAR files required to run this job.List<org.apache.flink.core.fs.Path>getUserJars()Gets the list of assigned user jar paths.org.apache.flink.configuration.PipelineOptions.VertexDescriptionModegetVertexDescriptionMode()protected Collection<? extends Integer>getVertexIDs()booleanhasFineGrainedResource()booleanisAllVerticesInSameSlotSharingGroupByDefault()Gets whether to put all vertices into the same slot sharing group by default.booleanisAutoParallelismEnabled()booleanisChainingEnabled()booleanisChainingOfOperatorsWithDifferentMaxParallelismEnabled()booleanisDynamic()Checks if the execution plan is dynamic.booleanisEmpty()Checks if the execution plan is empty.booleanisEnableCheckpointsAfterTasksFinish()booleanisIterative()booleanisPartialResourceConfigured()Checks if partial resource configuration is specified.booleanisVertexNameIncludeIndexPrefix()voidregisterJobStatusHook(org.apache.flink.core.execution.JobStatusHook hook)Registers the JobStatusHook.voidserializeAndSaveWatermarkDeclarations()voidserializeUserDefinedInstances()voidsetAllVerticesInSameSlotSharingGroupByDefault(boolean allVerticesInSameSlotSharingGroupByDefault)Set whether to put all vertices into the same slot sharing group by default.voidsetAttribute(Integer vertexId, org.apache.flink.api.common.attribute.Attribute attribute)voidsetAutoParallelismEnabled(boolean autoParallelismEnabled)voidsetBufferTimeout(Integer vertexID, long bufferTimeout)voidsetCheckpointStorage(CheckpointStorage checkpointStorage)voidsetClasspath(List<URL> paths)Sets the classpath required to run the job on a task manager.voidsetDynamic(boolean dynamic)voidsetEnableCheckpointsAfterTasksFinish(boolean enableCheckpointsAfterTasksFinish)voidsetGlobalStreamExchangeMode(GlobalStreamExchangeMode globalExchangeMode)voidsetInitialClientHeartbeatTimeout(long initialClientHeartbeatTimeout)voidsetInputFormat(Integer vertexID, org.apache.flink.api.common.io.InputFormat<?,?> inputFormat)voidsetJobId(org.apache.flink.api.common.JobID jobId)voidsetJobName(String jobName)voidsetJobType(JobType jobType)voidsetLineageGraph(LineageGraph lineageGraph)voidsetManagedMemoryUseCaseWeights(int vertexID, Map<org.apache.flink.core.memory.ManagedMemoryUseCase,Integer> operatorScopeUseCaseWeights, Set<org.apache.flink.core.memory.ManagedMemoryUseCase> slotScopeUseCases)voidsetMaxParallelism(int vertexID, int maxParallelism)voidsetMultipleInputStateKey(Integer vertexID, List<org.apache.flink.api.java.functions.KeySelector<?,?>> keySelectors, org.apache.flink.api.common.typeutils.TypeSerializer<?> keySerializer)voidsetOneInputStateKey(Integer vertexID, org.apache.flink.api.java.functions.KeySelector<?,?> keySelector, org.apache.flink.api.common.typeutils.TypeSerializer<?> keySerializer)voidsetOutputFormat(Integer vertexID, org.apache.flink.api.common.io.OutputFormat<?> outputFormat)voidsetParallelism(Integer vertexID, int parallelism)voidsetParallelism(Integer vertexId, int parallelism, boolean parallelismConfigured)voidsetResources(int vertexID, org.apache.flink.api.common.operators.ResourceSpec minResources, org.apache.flink.api.common.operators.ResourceSpec preferredResources)voidsetSavepointRestoreSettings(SavepointRestoreSettings savepointRestoreSettings)Sets the settings for restoring from a savepoint.voidsetSerializers(Integer vertexID, org.apache.flink.api.common.typeutils.TypeSerializer<?> in1, org.apache.flink.api.common.typeutils.TypeSerializer<?> in2, org.apache.flink.api.common.typeutils.TypeSerializer<?> out)voidsetSlotSharingGroupResource(Map<String,ResourceProfile> slotSharingGroupResources)voidsetStateBackend(StateBackend backend)voidsetSupportsConcurrentExecutionAttempts(Integer vertexId, boolean supportsConcurrentExecutionAttempts)voidsetTimerServiceProvider(InternalTimeServiceManager.Provider timerServiceProvider)voidsetTransformationUID(Integer nodeId, String transformationId)voidsetTwoInputStateKey(Integer vertexID, org.apache.flink.api.java.functions.KeySelector<?,?> keySelector1, org.apache.flink.api.java.functions.KeySelector<?,?> keySelector2, org.apache.flink.api.common.typeutils.TypeSerializer<?> keySerializer)voidsetUserArtifactBlobKey(String entryName, PermanentBlobKey blobKey)Sets a user artifact blob key for a specified user artifact.voidsetVertexDescriptionMode(org.apache.flink.configuration.PipelineOptions.VertexDescriptionMode mode)voidsetVertexNameIncludeIndexPrefix(boolean includePrefix)StringtoString()voidwriteUserArtifactEntriesToConfiguration()Writes user artifact entries to the job configuration.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.flink.streaming.api.graph.ExecutionPlan
isCheckpointingEnabled
-
-
-
-
Constructor Detail
-
StreamGraph
public StreamGraph(org.apache.flink.configuration.Configuration jobConfiguration, org.apache.flink.api.common.ExecutionConfig executionConfig, CheckpointConfig checkpointConfig, SavepointRestoreSettings savepointRestoreSettings)
-
-
Method Detail
-
clear
public void clear()
Remove all registered nodes etc.
-
getExecutionConfig
public org.apache.flink.api.common.ExecutionConfig getExecutionConfig()
-
getJobConfiguration
public org.apache.flink.configuration.Configuration getJobConfiguration()
Description copied from interface:ExecutionPlanGets the job configuration.- Specified by:
getJobConfigurationin interfaceExecutionPlan- Returns:
- the job configuration
-
getCheckpointConfig
public CheckpointConfig getCheckpointConfig()
-
getCheckpointingMode
public org.apache.flink.core.execution.CheckpointingMode getCheckpointingMode()
-
getCheckpointingMode
public static org.apache.flink.core.execution.CheckpointingMode getCheckpointingMode(CheckpointConfig checkpointConfig)
-
addJar
public void addJar(org.apache.flink.core.fs.Path jar)
Adds the path of a JAR file required to run the job on a task manager.- Parameters:
jar- path of the JAR file required to run the job on a task manager
-
getUserJars
public List<org.apache.flink.core.fs.Path> getUserJars()
Gets the list of assigned user jar paths.- Specified by:
getUserJarsin interfaceExecutionPlan- Returns:
- The list of assigned user jar paths
-
createJobCheckpointingSettings
public void createJobCheckpointingSettings()
-
setSavepointRestoreSettings
public void setSavepointRestoreSettings(SavepointRestoreSettings savepointRestoreSettings)
Description copied from interface:ExecutionPlanSets the settings for restoring from a savepoint.- Specified by:
setSavepointRestoreSettingsin interfaceExecutionPlan- Parameters:
savepointRestoreSettings- the settings for savepoint restoration
-
getSerializedExecutionConfig
public org.apache.flink.util.SerializedValue<org.apache.flink.api.common.ExecutionConfig> getSerializedExecutionConfig()
Description copied from interface:ExecutionPlanGets the serialized execution configuration.- Specified by:
getSerializedExecutionConfigin interfaceExecutionPlan- Returns:
- The serialized execution configuration object
-
getSavepointRestoreSettings
public SavepointRestoreSettings getSavepointRestoreSettings()
Description copied from interface:ExecutionPlanGets the settings for restoring from a savepoint.- Specified by:
getSavepointRestoreSettingsin interfaceExecutionPlan- Returns:
- the savepoint restore settings
-
getJobName
public String getJobName()
-
setJobName
public void setJobName(String jobName)
-
getLineageGraph
public LineageGraph getLineageGraph()
-
setLineageGraph
public void setLineageGraph(LineageGraph lineageGraph)
-
setStateBackend
public void setStateBackend(StateBackend backend)
-
getStateBackend
@VisibleForTesting public StateBackend getStateBackend()
-
setCheckpointStorage
public void setCheckpointStorage(CheckpointStorage checkpointStorage)
-
getTimerServiceProvider
public InternalTimeServiceManager.Provider getTimerServiceProvider()
-
setTimerServiceProvider
public void setTimerServiceProvider(InternalTimeServiceManager.Provider timerServiceProvider)
-
getGlobalStreamExchangeMode
public GlobalStreamExchangeMode getGlobalStreamExchangeMode()
-
setGlobalStreamExchangeMode
public void setGlobalStreamExchangeMode(GlobalStreamExchangeMode globalExchangeMode)
-
setSlotSharingGroupResource
public void setSlotSharingGroupResource(Map<String,ResourceProfile> slotSharingGroupResources)
-
getSlotSharingGroupResource
public Optional<ResourceProfile> getSlotSharingGroupResource(String groupId)
-
hasFineGrainedResource
public boolean hasFineGrainedResource()
-
setAllVerticesInSameSlotSharingGroupByDefault
public void setAllVerticesInSameSlotSharingGroupByDefault(boolean allVerticesInSameSlotSharingGroupByDefault)
Set whether to put all vertices into the same slot sharing group by default.- Parameters:
allVerticesInSameSlotSharingGroupByDefault- indicates whether to put all vertices into the same slot sharing group by default.
-
isAllVerticesInSameSlotSharingGroupByDefault
public boolean isAllVerticesInSameSlotSharingGroupByDefault()
Gets whether to put all vertices into the same slot sharing group by default.- Returns:
- whether to put all vertices into the same slot sharing group by default.
-
isEnableCheckpointsAfterTasksFinish
public boolean isEnableCheckpointsAfterTasksFinish()
-
setEnableCheckpointsAfterTasksFinish
public void setEnableCheckpointsAfterTasksFinish(boolean enableCheckpointsAfterTasksFinish)
-
isChainingEnabled
public boolean isChainingEnabled()
-
isChainingOfOperatorsWithDifferentMaxParallelismEnabled
public boolean isChainingOfOperatorsWithDifferentMaxParallelismEnabled()
-
isIterative
public boolean isIterative()
-
addSource
public <IN,OUT> void addSource(Integer vertexID, @Nullable String slotSharingGroup, @Nullable String coLocationGroup, SourceOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)
-
addLegacySource
public <IN,OUT> void addLegacySource(Integer vertexID, @Nullable String slotSharingGroup, @Nullable String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)
-
addSink
public <IN,OUT> void addSink(Integer vertexID, @Nullable String slotSharingGroup, @Nullable String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)
-
addOperator
public <IN,OUT> void addOperator(Integer vertexID, @Nullable String slotSharingGroup, @Nullable String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN> inTypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)
-
addCoOperator
public <IN1,IN2,OUT> void addCoOperator(Integer vertexID, String slotSharingGroup, @Nullable String coLocationGroup, StreamOperatorFactory<OUT> taskOperatorFactory, org.apache.flink.api.common.typeinfo.TypeInformation<IN1> in1TypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<IN2> in2TypeInfo, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)
-
addMultipleInputOperator
public <OUT> void addMultipleInputOperator(Integer vertexID, String slotSharingGroup, @Nullable String coLocationGroup, StreamOperatorFactory<OUT> operatorFactory, List<org.apache.flink.api.common.typeinfo.TypeInformation<?>> inTypeInfos, org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outTypeInfo, String operatorName)
-
addNode
protected StreamNode addNode(Integer vertexID, @Nullable String slotSharingGroup, @Nullable String coLocationGroup, Class<? extends TaskInvokable> vertexClass, @Nullable StreamOperatorFactory<?> operatorFactory, String operatorName)
-
addVirtualSideOutputNode
public void addVirtualSideOutputNode(Integer originalId, Integer virtualId, org.apache.flink.util.OutputTag outputTag)
Adds a new virtual node that is used to connect a downstream vertex to only the outputs with the selected side-outputOutputTag.- Parameters:
originalId- ID of the node that should be connected to.virtualId- ID of the virtual node.outputTag- The selected side-outputOutputTag.
-
addVirtualPartitionNode
public void addVirtualPartitionNode(Integer originalId, Integer virtualId, StreamPartitioner<?> partitioner, StreamExchangeMode exchangeMode)
Adds a new virtual node that is used to connect a downstream vertex to an input with a certain partitioning.When adding an edge from the virtual node to a downstream node the connection will be made to the original node, but with the partitioning given here.
- Parameters:
originalId- ID of the node that should be connected to.virtualId- ID of the virtual node.partitioner- The partitioner
-
getSlotSharingGroup
public String getSlotSharingGroup(Integer id)
Determines the slot sharing group of an operation across virtual nodes.
-
addEdge
public void addEdge(Integer upStreamVertexID, Integer downStreamVertexID, int typeNumber, IntermediateDataSetID intermediateDataSetId)
-
setParallelism
public void setParallelism(Integer vertexID, int parallelism)
-
isDynamic
public boolean isDynamic()
Description copied from interface:ExecutionPlanChecks if the execution plan is dynamic.- Specified by:
isDynamicin interfaceExecutionPlan- Returns:
- true if the execution plan is dynamic; false otherwise
-
getCheckpointingSettings
public JobCheckpointingSettings getCheckpointingSettings()
Description copied from interface:ExecutionPlanGets the settings for job checkpointing.- Specified by:
getCheckpointingSettingsin interfaceExecutionPlan- Returns:
- the checkpointing settings
-
isEmpty
public boolean isEmpty()
Description copied from interface:ExecutionPlanChecks if the execution plan is empty.- Specified by:
isEmptyin interfaceExecutionPlan- Returns:
- true if the plan is empty; false otherwise
-
setParallelism
public void setParallelism(Integer vertexId, int parallelism, boolean parallelismConfigured)
-
setDynamic
public void setDynamic(boolean dynamic)
-
setMaxParallelism
public void setMaxParallelism(int vertexID, int maxParallelism)
-
setResources
public void setResources(int vertexID, org.apache.flink.api.common.operators.ResourceSpec minResources, org.apache.flink.api.common.operators.ResourceSpec preferredResources)
-
setManagedMemoryUseCaseWeights
public void setManagedMemoryUseCaseWeights(int vertexID, Map<org.apache.flink.core.memory.ManagedMemoryUseCase,Integer> operatorScopeUseCaseWeights, Set<org.apache.flink.core.memory.ManagedMemoryUseCase> slotScopeUseCases)
-
setOneInputStateKey
public void setOneInputStateKey(Integer vertexID, org.apache.flink.api.java.functions.KeySelector<?,?> keySelector, org.apache.flink.api.common.typeutils.TypeSerializer<?> keySerializer)
-
setTwoInputStateKey
public void setTwoInputStateKey(Integer vertexID, org.apache.flink.api.java.functions.KeySelector<?,?> keySelector1, org.apache.flink.api.java.functions.KeySelector<?,?> keySelector2, org.apache.flink.api.common.typeutils.TypeSerializer<?> keySerializer)
-
setMultipleInputStateKey
public void setMultipleInputStateKey(Integer vertexID, List<org.apache.flink.api.java.functions.KeySelector<?,?>> keySelectors, org.apache.flink.api.common.typeutils.TypeSerializer<?> keySerializer)
-
setBufferTimeout
public void setBufferTimeout(Integer vertexID, long bufferTimeout)
-
setSerializers
public void setSerializers(Integer vertexID, org.apache.flink.api.common.typeutils.TypeSerializer<?> in1, org.apache.flink.api.common.typeutils.TypeSerializer<?> in2, org.apache.flink.api.common.typeutils.TypeSerializer<?> out)
-
setInputFormat
public void setInputFormat(Integer vertexID, org.apache.flink.api.common.io.InputFormat<?,?> inputFormat)
-
setOutputFormat
public void setOutputFormat(Integer vertexID, org.apache.flink.api.common.io.OutputFormat<?> outputFormat)
-
getStreamNode
public StreamNode getStreamNode(Integer vertexID)
-
getVertexIDs
protected Collection<? extends Integer> getVertexIDs()
-
getStreamEdges
@VisibleForTesting public List<StreamEdge> getStreamEdges(int sourceId)
-
getStreamEdges
public List<StreamEdge> getStreamEdges(int sourceId, int targetId)
-
getStreamEdgesOrThrow
@VisibleForTesting @Deprecated public List<StreamEdge> getStreamEdgesOrThrow(int sourceId, int targetId)
Deprecated.
-
getSourceIDs
public Collection<Integer> getSourceIDs()
-
getSinkIDs
public Collection<Integer> getSinkIDs()
-
getStreamNodes
public Collection<StreamNode> getStreamNodes()
-
getLoopTimeout
public long getLoopTimeout(Integer vertexID)
-
getSourceVertex
public StreamNode getSourceVertex(StreamEdge edge)
-
getTargetVertex
public StreamNode getTargetVertex(StreamEdge edge)
-
getJobGraph
@VisibleForTesting public JobGraph getJobGraph()
Gets the assembledJobGraphwith a randomJobID.
-
getJobGraph
public JobGraph getJobGraph(ClassLoader userClassLoader)
-
getJobGraph
public JobGraph getJobGraph(ClassLoader userClassLoader, @Nullable org.apache.flink.api.common.JobID jobID)
Gets the assembledJobGraphwith a specifiedJobID.
-
getStreamingPlanAsJSON
public String getStreamingPlanAsJSON()
-
setJobType
public void setJobType(JobType jobType)
-
getName
public String getName()
Description copied from interface:ExecutionPlanGets the name of the job.- Specified by:
getNamein interfaceExecutionPlan- Returns:
- the job name
-
getJobType
public JobType getJobType()
Description copied from interface:ExecutionPlanGets the type of the job.- Specified by:
getJobTypein interfaceExecutionPlan- Returns:
- the job type
-
isAutoParallelismEnabled
public boolean isAutoParallelismEnabled()
-
setAutoParallelismEnabled
public void setAutoParallelismEnabled(boolean autoParallelismEnabled)
-
getVertexDescriptionMode
public org.apache.flink.configuration.PipelineOptions.VertexDescriptionMode getVertexDescriptionMode()
-
setVertexDescriptionMode
public void setVertexDescriptionMode(org.apache.flink.configuration.PipelineOptions.VertexDescriptionMode mode)
-
setVertexNameIncludeIndexPrefix
public void setVertexNameIncludeIndexPrefix(boolean includePrefix)
-
isVertexNameIncludeIndexPrefix
public boolean isVertexNameIncludeIndexPrefix()
-
registerJobStatusHook
public void registerJobStatusHook(org.apache.flink.core.execution.JobStatusHook hook)
Registers the JobStatusHook.
-
getJobStatusHooks
public List<org.apache.flink.core.execution.JobStatusHook> getJobStatusHooks()
-
setSupportsConcurrentExecutionAttempts
public void setSupportsConcurrentExecutionAttempts(Integer vertexId, boolean supportsConcurrentExecutionAttempts)
-
setAttribute
public void setAttribute(Integer vertexId, org.apache.flink.api.common.attribute.Attribute attribute)
-
setJobId
public void setJobId(org.apache.flink.api.common.JobID jobId)
-
getJobID
public org.apache.flink.api.common.JobID getJobID()
Description copied from interface:ExecutionPlanGets the unique identifier of the job.- Specified by:
getJobIDin interfaceExecutionPlan- Returns:
- the job id
-
setClasspath
public void setClasspath(List<URL> paths)
Sets the classpath required to run the job on a task manager.- Parameters:
paths- paths of the directories/JAR files required to run the job on a task manager
-
addJars
public void addJars(List<URL> jarFilesToAttach)
Adds the given jar files to theJobGraphviaJobGraph.addJar(org.apache.flink.core.fs.Path).- Parameters:
jarFilesToAttach- a list of theURLsof the jar files to attach to the jobgraph.- Throws:
RuntimeException- if a jar URL is not valid.
-
getUserJarBlobKeys
public List<PermanentBlobKey> getUserJarBlobKeys()
Returns a list of BLOB keys referring to the JAR files required to run this job.- Specified by:
getUserJarBlobKeysin interfaceExecutionPlan- Returns:
- list of BLOB keys referring to the JAR files required to run this job
-
getClasspaths
public List<URL> getClasspaths()
Description copied from interface:ExecutionPlanGets the classpath required for the job.- Specified by:
getClasspathsin interfaceExecutionPlan- Returns:
- a list of classpath URLs
-
addUserArtifact
public void addUserArtifact(String name, org.apache.flink.api.common.cache.DistributedCache.DistributedCacheEntry file)
-
getUserArtifacts
public Map<String,org.apache.flink.api.common.cache.DistributedCache.DistributedCacheEntry> getUserArtifacts()
Description copied from interface:ExecutionPlanGets the user artifacts associated with the job.- Specified by:
getUserArtifactsin interfaceExecutionPlan- Returns:
- a map of user artifacts
-
addUserJarBlobKey
public void addUserJarBlobKey(PermanentBlobKey key)
Description copied from interface:ExecutionPlanAdds a blob key corresponding to a user JAR.- Specified by:
addUserJarBlobKeyin interfaceExecutionPlan- Parameters:
key- the blob key to add
-
setUserArtifactBlobKey
public void setUserArtifactBlobKey(String entryName, PermanentBlobKey blobKey) throws IOException
Description copied from interface:ExecutionPlanSets a user artifact blob key for a specified user artifact.- Specified by:
setUserArtifactBlobKeyin interfaceExecutionPlan- Parameters:
entryName- the name of the user artifactblobKey- the blob key corresponding to the user artifact- Throws:
IOException- if an error occurs during the operation
-
writeUserArtifactEntriesToConfiguration
public void writeUserArtifactEntriesToConfiguration()
Description copied from interface:ExecutionPlanWrites user artifact entries to the job configuration.- Specified by:
writeUserArtifactEntriesToConfigurationin interfaceExecutionPlan
-
getMaximumParallelism
public int getMaximumParallelism()
Description copied from interface:ExecutionPlanGets the maximum parallelism level for the job.- Specified by:
getMaximumParallelismin interfaceExecutionPlan- Returns:
- the maximum parallelism
-
setInitialClientHeartbeatTimeout
public void setInitialClientHeartbeatTimeout(long initialClientHeartbeatTimeout)
-
getInitialClientHeartbeatTimeout
public long getInitialClientHeartbeatTimeout()
Description copied from interface:ExecutionPlanGets the initial client heartbeat timeout.- Specified by:
getInitialClientHeartbeatTimeoutin interfaceExecutionPlan- Returns:
- the timeout duration in milliseconds
-
isPartialResourceConfigured
public boolean isPartialResourceConfigured()
Description copied from interface:ExecutionPlanChecks if partial resource configuration is specified.- Specified by:
isPartialResourceConfiguredin interfaceExecutionPlan- Returns:
- true if partial resource configuration is set; false otherwise
-
serializeUserDefinedInstances
public void serializeUserDefinedInstances() throws IOException- Throws:
IOException
-
deserializeUserDefinedInstances
public void deserializeUserDefinedInstances(ClassLoader userClassLoader, Executor serializationExecutor) throws Exception
- Throws:
Exception
-
getStreamNodesSortedTopologicallyFromSources
public List<StreamNode> getStreamNodesSortedTopologicallyFromSources() throws org.apache.flink.api.common.InvalidProgramException
- Throws:
org.apache.flink.api.common.InvalidProgramException
-
serializeAndSaveWatermarkDeclarations
public void serializeAndSaveWatermarkDeclarations()
-
getSerializedWatermarkDeclarations
public byte[] getSerializedWatermarkDeclarations()
Get serialized watermark declarations, note that it may be null.
-
-