当前位置: 首页>>代码示例>>Java>>正文


Java JobEdge类代码示例

本文整理汇总了Java中org.apache.flink.runtime.jobgraph.JobEdge的典型用法代码示例。如果您正苦于以下问题:Java JobEdge类的具体用法?Java JobEdge怎么用?Java JobEdge使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


JobEdge类属于org.apache.flink.runtime.jobgraph包,在下文中一共展示了JobEdge类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: connectSource

import org.apache.flink.runtime.jobgraph.JobEdge; //导入依赖的package包/类
public void connectSource(int inputNumber, IntermediateResult source, JobEdge edge, int consumerNumber) {

		final DistributionPattern pattern = edge.getDistributionPattern();
		final IntermediateResultPartition[] sourcePartitions = source.getPartitions();

		ExecutionEdge[] edges;

		switch (pattern) {
			case POINTWISE:
				edges = connectPointwise(sourcePartitions, inputNumber);
				break;

			case ALL_TO_ALL:
				edges = connectAllToAll(sourcePartitions, inputNumber);
				break;

			default:
				throw new RuntimeException("Unrecognized distribution pattern.");

		}

		this.inputEdges[inputNumber] = edges;

		// add the consumers to the source
		// for now (until the receiver initiated handshake is in place), we need to register the
		// edges as the execution graph
		for (ExecutionEdge ee : edges) {
			ee.getSource().addConsumer(ee, consumerNumber);
		}
	}
 
开发者ID:axbaretto,项目名称:flink,代码行数:31,代码来源:ExecutionVertex.java

示例2: connectToPredecessors

import org.apache.flink.runtime.jobgraph.JobEdge; //导入依赖的package包/类
public void connectToPredecessors(Map<IntermediateDataSetID, IntermediateResult> intermediateDataSets) throws JobException {
	
	List<JobEdge> inputs = jobVertex.getInputs();
	
	if (LOG.isDebugEnabled()) {
		LOG.debug(String.format("Connecting ExecutionJobVertex %s (%s) to %d predecessors.", jobVertex.getID(), jobVertex.getName(), inputs.size()));
	}
	
	for (int num = 0; num < inputs.size(); num++) {
		JobEdge edge = inputs.get(num);
		
		if (LOG.isDebugEnabled()) {
			if (edge.getSource() == null) {
				LOG.debug(String.format("Connecting input %d of vertex %s (%s) to intermediate result referenced via ID %s.", 
						num, jobVertex.getID(), jobVertex.getName(), edge.getSourceId()));
			} else {
				LOG.debug(String.format("Connecting input %d of vertex %s (%s) to intermediate result referenced via predecessor %s (%s).",
						num, jobVertex.getID(), jobVertex.getName(), edge.getSource().getProducer().getID(), edge.getSource().getProducer().getName()));
			}
		}
		
		// fetch the intermediate result via ID. if it does not exist, then it either has not been created, or the order
		// in which this method is called for the job vertices is not a topological order
		IntermediateResult ires = intermediateDataSets.get(edge.getSourceId());
		if (ires == null) {
			throw new JobException("Cannot connect this job graph to the previous graph. No previous intermediate result found for ID "
					+ edge.getSourceId());
		}
		
		this.inputs.add(ires);
		
		int consumerIndex = ires.registerConsumer();
		
		for (int i = 0; i < parallelism; i++) {
			ExecutionVertex ev = taskVertices[i];
			ev.connectSource(num, ires, edge, consumerIndex);
		}
	}
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:40,代码来源:ExecutionJobVertex.java

示例3: connect

import org.apache.flink.runtime.jobgraph.JobEdge; //导入依赖的package包/类
private void connect(Integer headOfChain, StreamEdge edge) {

		physicalEdgesInOrder.add(edge);

		Integer downStreamvertexID = edge.getTargetId();

		JobVertex headVertex = jobVertices.get(headOfChain);
		JobVertex downStreamVertex = jobVertices.get(downStreamvertexID);

		StreamConfig downStreamConfig = new StreamConfig(downStreamVertex.getConfiguration());

		downStreamConfig.setNumberOfInputs(downStreamConfig.getNumberOfInputs() + 1);

		StreamPartitioner<?> partitioner = edge.getPartitioner();
		JobEdge jobEdge;
		if (partitioner instanceof ForwardPartitioner) {
			jobEdge = downStreamVertex.connectNewDataSetAsInput(
				headVertex,
				DistributionPattern.POINTWISE,
				ResultPartitionType.PIPELINED_BOUNDED);
		} else if (partitioner instanceof RescalePartitioner){
			jobEdge = downStreamVertex.connectNewDataSetAsInput(
				headVertex,
				DistributionPattern.POINTWISE,
				ResultPartitionType.PIPELINED_BOUNDED);
		} else {
			jobEdge = downStreamVertex.connectNewDataSetAsInput(
					headVertex,
					DistributionPattern.ALL_TO_ALL,
					ResultPartitionType.PIPELINED_BOUNDED);
		}
		// set strategy name so that web interface can show it.
		jobEdge.setShipStrategyName(partitioner.toString());

		if (LOG.isDebugEnabled()) {
			LOG.debug("CONNECTED: {} - {} -> {}", partitioner.getClass().getSimpleName(),
					headOfChain, downStreamvertexID);
		}
	}
 
开发者ID:axbaretto,项目名称:flink,代码行数:40,代码来源:StreamingJobGraphGenerator.java

示例4: connectSource

import org.apache.flink.runtime.jobgraph.JobEdge; //导入依赖的package包/类
public void connectSource(int inputNumber, IntermediateResult source, JobEdge edge, int consumerNumber) {
	
	final DistributionPattern pattern = edge.getDistributionPattern();
	final IntermediateResultPartition[] sourcePartitions = source.getPartitions();
	
	ExecutionEdge[] edges = null;
	
	switch (pattern) {
		case POINTWISE:
			edges = connectPointwise(sourcePartitions, inputNumber);
			break;
			
		case BIPARTITE: 
			edges = connectAllToAll(sourcePartitions, inputNumber);
			break;
			
		default:
			throw new RuntimeException("Unrecognized distribution pattern.");
	
	}
	
	this.inputEdges[inputNumber] = edges;
	
	ExecutionGraph graph = getExecutionGraph();
	
	// add the consumers to the source
	// for now (until the receiver initiated handshake is in place), we need to register the 
	// edges as the execution graph
	for (ExecutionEdge ee : edges) {
		ee.getSource().addConsumer(ee, consumerNumber);
		graph.registerExecutionEdge(ee);
	}
}
 
开发者ID:citlab,项目名称:vs.msc.ws14,代码行数:34,代码来源:ExecutionVertex.java


注:本文中的org.apache.flink.runtime.jobgraph.JobEdge类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。