Class StreamingJobGraphGenerator
- java.lang.Object
-
- org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator
-
@Internal public class StreamingJobGraphGenerator extends Object
The StreamingJobGraphGenerator converts aStreamGraphinto aJobGraph.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddVertexIndexPrefixInVertexName(JobVertexBuildContext jobVertexBuildContext, AtomicInteger vertexIndexId)static IntermediateDataSetconnect(Integer headOfChain, StreamEdge edge, NonChainedOutput output, Map<Integer,JobVertex> jobVertices, JobVertexBuildContext jobVertexBuildContext)static JobGraphcreateAndInitializeJobGraph(StreamGraph streamGraph, org.apache.flink.api.common.JobID jobId)static List<StreamEdge>createChain(Integer currentNodeId, int chainIndex, OperatorChainInfo chainInfo, Map<Integer,OperatorChainInfo> chainEntryPoints, boolean canCreateNewChain, Executor serializationExecutor, JobVertexBuildContext jobVertexBuildContext, Consumer<Integer> visitedStreamNodeConsumer)static org.apache.flink.api.common.operators.ResourceSpeccreateChainedMinResources(Integer vertexID, List<StreamEdge> chainedOutputs, OperatorChainInfo operatorChainInfo, JobVertexBuildContext jobVertexBuildContext)static StringcreateChainedName(Integer vertexID, List<StreamEdge> chainedOutputs, Optional<OperatorChainInfo> operatorChainInfo, Map<Integer,String> chainedNames, JobVertexBuildContext jobVertexBuildContext)static org.apache.flink.api.common.operators.ResourceSpeccreateChainedPreferredResources(Integer vertexID, List<StreamEdge> chainedOutputs, OperatorChainInfo operatorChainInfo, JobVertexBuildContext jobVertexBuildContext)static JobGraphcreateJobGraph(ClassLoader userClassLoader, StreamGraph streamGraph, org.apache.flink.api.common.JobID jobID)static JobGraphcreateJobGraph(StreamGraph streamGraph)static JobVertexcreateJobVertex(OperatorChainInfo chainInfo, Executor serializationExecutor, JobVertexBuildContext jobVertexBuildContext)static voidcreateSourceChainInfo(StreamNode sourceNode, Map<Integer,OperatorChainInfo> chainEntryPoints, JobVertexBuildContext jobVertexBuildContext)static ResultPartitionTypedetermineUndefinedResultPartitionType(StreamEdge edge, JobVertexBuildContext jobVertexBuildContext)static OperatorIDgenerateOperatorID(String operatorUid)Creates an instance ofOperatorIDbased on the provided operator unique identifier (UID).static booleanisChainable(StreamEdge edge, StreamGraph streamGraph)static booleanisChainable(StreamEdge edge, StreamGraph streamGraph, boolean allowChainWithDefaultParallelism)static booleanisChainableSource(StreamNode streamNode, StreamGraph streamGraph)static voidmarkSupportingConcurrentExecutionAttempts(JobVertexBuildContext jobVertexBuildContext)static voidpreValidate(StreamGraph streamGraph, ClassLoader userClassloader)static voidserializeOperatorCoordinatorsAndStreamConfig(Executor serializationExecutor, JobVertexBuildContext jobVertexBuildContext)static voidsetAllOperatorNonChainedOutputsConfigs(Map<Integer,Map<StreamEdge,NonChainedOutput>> opIntermediateOutputs, JobVertexBuildContext jobVertexBuildContext)static voidsetManagedMemoryFraction(JobVertexBuildContext jobVertexBuildContext)static voidsetOperatorChainedOutputsConfig(StreamConfig config, List<StreamEdge> chainableOutputs, JobVertexBuildContext jobVertexBuildContext)static voidsetOperatorConfig(Integer vertexId, StreamConfig config, OperatorChainInfo chainInfo, JobVertexBuildContext jobVertexBuildContext)static voidsetPhysicalEdges(JobVertexBuildContext jobVertexBuildContext)static voidsetSlotSharingAndCoLocation(JobVertexBuildContext jobVertexBuildContext)static voidsetVertexDescription(JobVertexBuildContext jobVertexBuildContext)static voidtryConvertPartitionerForDynamicGraph(List<StreamEdge> chainableOutputs, List<StreamEdge> nonChainableOutputs, JobVertexBuildContext jobVertexBuildContext)static voidvalidateHybridShuffleExecuteInBatchMode(JobVertexBuildContext jobVertexBuildContext)
-
-
-
Method Detail
-
createJobGraph
@VisibleForTesting public static JobGraph createJobGraph(StreamGraph streamGraph)
-
createJobGraph
public static JobGraph createJobGraph(ClassLoader userClassLoader, StreamGraph streamGraph, @Nullable org.apache.flink.api.common.JobID jobID)
-
serializeOperatorCoordinatorsAndStreamConfig
public static void serializeOperatorCoordinatorsAndStreamConfig(Executor serializationExecutor, JobVertexBuildContext jobVertexBuildContext)
-
generateOperatorID
public static OperatorID generateOperatorID(String operatorUid)
Creates an instance ofOperatorIDbased on the provided operator unique identifier (UID).- Parameters:
operatorUid- the unique identifier of the operator, used to generate the hash- Returns:
- a new
OperatorIDinstance generated from the specified operator UID
-
addVertexIndexPrefixInVertexName
public static void addVertexIndexPrefixInVertexName(JobVertexBuildContext jobVertexBuildContext, AtomicInteger vertexIndexId)
-
setVertexDescription
public static void setVertexDescription(JobVertexBuildContext jobVertexBuildContext)
-
preValidate
public static void preValidate(StreamGraph streamGraph, ClassLoader userClassloader)
-
setPhysicalEdges
public static void setPhysicalEdges(JobVertexBuildContext jobVertexBuildContext)
-
createChain
public static List<StreamEdge> createChain(Integer currentNodeId, int chainIndex, OperatorChainInfo chainInfo, Map<Integer,OperatorChainInfo> chainEntryPoints, boolean canCreateNewChain, Executor serializationExecutor, JobVertexBuildContext jobVertexBuildContext, @Nullable Consumer<Integer> visitedStreamNodeConsumer)
-
createAndInitializeJobGraph
public static JobGraph createAndInitializeJobGraph(StreamGraph streamGraph, @Nullable org.apache.flink.api.common.JobID jobId)
-
createSourceChainInfo
public static void createSourceChainInfo(StreamNode sourceNode, Map<Integer,OperatorChainInfo> chainEntryPoints, JobVertexBuildContext jobVertexBuildContext)
-
createChainedName
public static String createChainedName(Integer vertexID, List<StreamEdge> chainedOutputs, Optional<OperatorChainInfo> operatorChainInfo, Map<Integer,String> chainedNames, JobVertexBuildContext jobVertexBuildContext)
-
createChainedMinResources
public static org.apache.flink.api.common.operators.ResourceSpec createChainedMinResources(Integer vertexID, List<StreamEdge> chainedOutputs, OperatorChainInfo operatorChainInfo, JobVertexBuildContext jobVertexBuildContext)
-
createChainedPreferredResources
public static org.apache.flink.api.common.operators.ResourceSpec createChainedPreferredResources(Integer vertexID, List<StreamEdge> chainedOutputs, OperatorChainInfo operatorChainInfo, JobVertexBuildContext jobVertexBuildContext)
-
createJobVertex
public static JobVertex createJobVertex(OperatorChainInfo chainInfo, Executor serializationExecutor, JobVertexBuildContext jobVertexBuildContext)
-
setOperatorConfig
public static void setOperatorConfig(Integer vertexId, StreamConfig config, OperatorChainInfo chainInfo, JobVertexBuildContext jobVertexBuildContext)
-
setOperatorChainedOutputsConfig
public static void setOperatorChainedOutputsConfig(StreamConfig config, List<StreamEdge> chainableOutputs, JobVertexBuildContext jobVertexBuildContext)
-
setAllOperatorNonChainedOutputsConfigs
public static void setAllOperatorNonChainedOutputsConfigs(Map<Integer,Map<StreamEdge,NonChainedOutput>> opIntermediateOutputs, JobVertexBuildContext jobVertexBuildContext)
-
tryConvertPartitionerForDynamicGraph
public static void tryConvertPartitionerForDynamicGraph(List<StreamEdge> chainableOutputs, List<StreamEdge> nonChainableOutputs, JobVertexBuildContext jobVertexBuildContext)
-
connect
public static IntermediateDataSet connect(Integer headOfChain, StreamEdge edge, NonChainedOutput output, Map<Integer,JobVertex> jobVertices, JobVertexBuildContext jobVertexBuildContext)
-
determineUndefinedResultPartitionType
public static ResultPartitionType determineUndefinedResultPartitionType(StreamEdge edge, JobVertexBuildContext jobVertexBuildContext)
-
isChainable
public static boolean isChainable(StreamEdge edge, StreamGraph streamGraph)
-
isChainable
public static boolean isChainable(StreamEdge edge, StreamGraph streamGraph, boolean allowChainWithDefaultParallelism)
-
isChainableSource
public static boolean isChainableSource(StreamNode streamNode, StreamGraph streamGraph)
-
markSupportingConcurrentExecutionAttempts
public static void markSupportingConcurrentExecutionAttempts(JobVertexBuildContext jobVertexBuildContext)
-
setSlotSharingAndCoLocation
public static void setSlotSharingAndCoLocation(JobVertexBuildContext jobVertexBuildContext)
-
validateHybridShuffleExecuteInBatchMode
public static void validateHybridShuffleExecuteInBatchMode(JobVertexBuildContext jobVertexBuildContext)
-
setManagedMemoryFraction
public static void setManagedMemoryFraction(JobVertexBuildContext jobVertexBuildContext)
-
-