org.apache.flink.streaming.util.NoOpIntMap Java Examples
The following examples show how to use
org.apache.flink.streaming.util.NoOpIntMap.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: StreamGraphGeneratorTest.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Tests that the global and operator-wide max parallelism setting is respected. */ @Test public void testMaxParallelismForwarding() { int globalMaxParallelism = 42; int keyedResult2MaxParallelism = 17; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setMaxParallelism(globalMaxParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult1 = source.keyBy(value -> value).map(new NoOpIntMap()); DataStream<Integer> keyedResult2 = keyedResult1 .keyBy(value -> value) .map(new NoOpIntMap()) .setMaxParallelism(keyedResult2MaxParallelism); keyedResult2.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResult1Node = graph.getStreamNode(keyedResult1.getId()); StreamNode keyedResult2Node = graph.getStreamNode(keyedResult2.getId()); assertEquals(globalMaxParallelism, keyedResult1Node.getMaxParallelism()); assertEquals(keyedResult2MaxParallelism, keyedResult2Node.getMaxParallelism()); }
Example #2
Source File: StreamGraphGeneratorTest.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Tests that the max parallelism is automatically set to the parallelism if it has not been * specified. */ @Test public void testAutoMaxParallelism() { int globalParallelism = 42; int mapParallelism = 17; int maxParallelism = 21; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(globalParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult1 = source.keyBy(value -> value).map(new NoOpIntMap()); DataStream<Integer> keyedResult2 = keyedResult1.keyBy(value -> value).map(new NoOpIntMap()).setParallelism(mapParallelism); DataStream<Integer> keyedResult3 = keyedResult2.keyBy(value -> value).map(new NoOpIntMap()).setMaxParallelism(maxParallelism); DataStream<Integer> keyedResult4 = keyedResult3.keyBy(value -> value).map(new NoOpIntMap()).setMaxParallelism(maxParallelism).setParallelism(mapParallelism); keyedResult4.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResult3Node = graph.getStreamNode(keyedResult3.getId()); StreamNode keyedResult4Node = graph.getStreamNode(keyedResult4.getId()); assertEquals(maxParallelism, keyedResult3Node.getMaxParallelism()); assertEquals(maxParallelism, keyedResult4Node.getMaxParallelism()); }
Example #3
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 5 votes |
/** * Tests that the global and operator-wide max parallelism setting is respected. */ @Test public void testMaxParallelismForwarding() { int globalMaxParallelism = 42; int keyedResult2MaxParallelism = 17; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setMaxParallelism(globalMaxParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult1 = source.keyBy(value -> value).map(new NoOpIntMap()); DataStream<Integer> keyedResult2 = keyedResult1 .keyBy(value -> value) .map(new NoOpIntMap()) .setMaxParallelism(keyedResult2MaxParallelism); keyedResult2.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResult1Node = graph.getStreamNode(keyedResult1.getId()); StreamNode keyedResult2Node = graph.getStreamNode(keyedResult2.getId()); assertEquals(globalMaxParallelism, keyedResult1Node.getMaxParallelism()); assertEquals(keyedResult2MaxParallelism, keyedResult2Node.getMaxParallelism()); }
Example #4
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 5 votes |
/** * Tests that the max parallelism is automatically set to the parallelism if it has not been * specified. */ @Test public void testAutoMaxParallelism() { int globalParallelism = 42; int mapParallelism = 17; int maxParallelism = 21; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(globalParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult1 = source.keyBy(value -> value).map(new NoOpIntMap()); DataStream<Integer> keyedResult2 = keyedResult1.keyBy(value -> value).map(new NoOpIntMap()).setParallelism(mapParallelism); DataStream<Integer> keyedResult3 = keyedResult2.keyBy(value -> value).map(new NoOpIntMap()).setMaxParallelism(maxParallelism); DataStream<Integer> keyedResult4 = keyedResult3.keyBy(value -> value).map(new NoOpIntMap()).setMaxParallelism(maxParallelism).setParallelism(mapParallelism); keyedResult4.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResult3Node = graph.getStreamNode(keyedResult3.getId()); StreamNode keyedResult4Node = graph.getStreamNode(keyedResult4.getId()); assertEquals(maxParallelism, keyedResult3Node.getMaxParallelism()); assertEquals(maxParallelism, keyedResult4Node.getMaxParallelism()); }
Example #5
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 5 votes |
/** * Tests that the global and operator-wide max parallelism setting is respected. */ @Test public void testMaxParallelismForwarding() { int globalMaxParallelism = 42; int keyedResult2MaxParallelism = 17; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setMaxParallelism(globalMaxParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult1 = source.keyBy(value -> value).map(new NoOpIntMap()); DataStream<Integer> keyedResult2 = keyedResult1 .keyBy(value -> value) .map(new NoOpIntMap()) .setMaxParallelism(keyedResult2MaxParallelism); keyedResult2.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResult1Node = graph.getStreamNode(keyedResult1.getId()); StreamNode keyedResult2Node = graph.getStreamNode(keyedResult2.getId()); assertEquals(globalMaxParallelism, keyedResult1Node.getMaxParallelism()); assertEquals(keyedResult2MaxParallelism, keyedResult2Node.getMaxParallelism()); }
Example #6
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 5 votes |
/** * Tests that the max parallelism is automatically set to the parallelism if it has not been * specified. */ @Test public void testAutoMaxParallelism() { int globalParallelism = 42; int mapParallelism = 17; int maxParallelism = 21; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(globalParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult1 = source.keyBy(value -> value).map(new NoOpIntMap()); DataStream<Integer> keyedResult2 = keyedResult1.keyBy(value -> value).map(new NoOpIntMap()).setParallelism(mapParallelism); DataStream<Integer> keyedResult3 = keyedResult2.keyBy(value -> value).map(new NoOpIntMap()).setMaxParallelism(maxParallelism); DataStream<Integer> keyedResult4 = keyedResult3.keyBy(value -> value).map(new NoOpIntMap()).setMaxParallelism(maxParallelism).setParallelism(mapParallelism); keyedResult4.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResult3Node = graph.getStreamNode(keyedResult3.getId()); StreamNode keyedResult4Node = graph.getStreamNode(keyedResult4.getId()); assertEquals(maxParallelism, keyedResult3Node.getMaxParallelism()); assertEquals(maxParallelism, keyedResult4Node.getMaxParallelism()); }
Example #7
Source File: StreamGraphGeneratorTest.java From Flink-CEPplus with Apache License 2.0 | 4 votes |
/** * This tests whether virtual Transformations behave correctly. * * <p>Verifies that partitioning, output selector, selected names are correctly set in the * StreamGraph when they are intermixed. */ @Test public void testVirtualTransformations() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Integer> source = env.fromElements(1, 10); DataStream<Integer> rebalanceMap = source.rebalance().map(new NoOpIntMap()); // verify that only the partitioning that was set last is used DataStream<Integer> broadcastMap = rebalanceMap .forward() .global() .broadcast() .map(new NoOpIntMap()); broadcastMap.addSink(new DiscardingSink<>()); // verify that partitioning is preserved across union and split/select EvenOddOutputSelector selector1 = new EvenOddOutputSelector(); EvenOddOutputSelector selector2 = new EvenOddOutputSelector(); EvenOddOutputSelector selector3 = new EvenOddOutputSelector(); DataStream<Integer> map1Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map1 = map1Operator .broadcast() .split(selector1) .select("even"); DataStream<Integer> map2Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map2 = map2Operator .split(selector2) .select("odd") .global(); DataStream<Integer> map3Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map3 = map3Operator .global() .split(selector3) .select("even") .shuffle(); SingleOutputStreamOperator<Integer> unionedMap = map1.union(map2).union(map3) .map(new NoOpIntMap()); unionedMap.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); // rebalanceMap assertTrue(graph.getStreamNode(rebalanceMap.getId()).getInEdges().get(0).getPartitioner() instanceof RebalancePartitioner); // verify that only last partitioning takes precedence assertTrue(graph.getStreamNode(broadcastMap.getId()).getInEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertEquals(rebalanceMap.getId(), graph.getSourceVertex(graph.getStreamNode(broadcastMap.getId()).getInEdges().get(0)).getId()); // verify that partitioning in unions is preserved and that it works across split/select assertTrue(graph.getStreamNode(map1Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map1Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("even")); assertTrue(graph.getStreamNode(map1Operator.getId()).getOutputSelectors().contains(selector1)); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof GlobalPartitioner); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("odd")); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutputSelectors().contains(selector2)); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof ShufflePartitioner); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("even")); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutputSelectors().contains(selector3)); }
Example #8
Source File: StreamGraphGeneratorTest.java From Flink-CEPplus with Apache License 2.0 | 4 votes |
/** * This tests whether virtual Transformations behave correctly. * * <p>Checks whether output selector, partitioning works correctly when applied on a union. */ @Test public void testVirtualTransformations2() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Integer> source = env.fromElements(1, 10); DataStream<Integer> rebalanceMap = source.rebalance().map(new NoOpIntMap()); DataStream<Integer> map1 = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map2 = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map3 = rebalanceMap .map(new NoOpIntMap()); EvenOddOutputSelector selector = new EvenOddOutputSelector(); SingleOutputStreamOperator<Integer> unionedMap = map1.union(map2).union(map3) .broadcast() .split(selector) .select("foo") .map(new NoOpIntMap()); unionedMap.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); // verify that the properties are correctly set on all input operators assertTrue(graph.getStreamNode(map1.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map1.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map1.getId()).getOutputSelectors().contains(selector)); assertTrue(graph.getStreamNode(map2.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map2.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map2.getId()).getOutputSelectors().contains(selector)); assertTrue(graph.getStreamNode(map3.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map3.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map3.getId()).getOutputSelectors().contains(selector)); }
Example #9
Source File: StreamGraphGeneratorTest.java From Flink-CEPplus with Apache License 2.0 | 4 votes |
/** * Tests that the KeyGroupStreamPartitioner are properly set up with the correct value of * maximum parallelism. */ @Test public void testSetupOfKeyGroupPartitioner() { int maxParallelism = 42; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setMaxParallelism(maxParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult = source.keyBy(value -> value).map(new NoOpIntMap()); keyedResult.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResultNode = graph.getStreamNode(keyedResult.getId()); StreamPartitioner<?> streamPartitioner = keyedResultNode.getInEdges().get(0).getPartitioner(); }
Example #10
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 4 votes |
/** * This tests whether virtual Transformations behave correctly. * * <p>Verifies that partitioning, output selector, selected names are correctly set in the * StreamGraph when they are intermixed. */ @Test public void testVirtualTransformations() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Integer> source = env.fromElements(1, 10); DataStream<Integer> rebalanceMap = source.rebalance().map(new NoOpIntMap()); // verify that only the partitioning that was set last is used DataStream<Integer> broadcastMap = rebalanceMap .forward() .global() .broadcast() .map(new NoOpIntMap()); broadcastMap.addSink(new DiscardingSink<>()); // verify that partitioning is preserved across union and split/select EvenOddOutputSelector selector1 = new EvenOddOutputSelector(); EvenOddOutputSelector selector2 = new EvenOddOutputSelector(); EvenOddOutputSelector selector3 = new EvenOddOutputSelector(); DataStream<Integer> map1Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map1 = map1Operator .broadcast() .split(selector1) .select("even"); DataStream<Integer> map2Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map2 = map2Operator .split(selector2) .select("odd") .global(); DataStream<Integer> map3Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map3 = map3Operator .global() .split(selector3) .select("even") .shuffle(); SingleOutputStreamOperator<Integer> unionedMap = map1.union(map2).union(map3) .map(new NoOpIntMap()); unionedMap.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); // rebalanceMap assertTrue(graph.getStreamNode(rebalanceMap.getId()).getInEdges().get(0).getPartitioner() instanceof RebalancePartitioner); // verify that only last partitioning takes precedence assertTrue(graph.getStreamNode(broadcastMap.getId()).getInEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertEquals(rebalanceMap.getId(), graph.getSourceVertex(graph.getStreamNode(broadcastMap.getId()).getInEdges().get(0)).getId()); // verify that partitioning in unions is preserved and that it works across split/select assertTrue(graph.getStreamNode(map1Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map1Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("even")); assertTrue(graph.getStreamNode(map1Operator.getId()).getOutputSelectors().contains(selector1)); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof GlobalPartitioner); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("odd")); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutputSelectors().contains(selector2)); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof ShufflePartitioner); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("even")); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutputSelectors().contains(selector3)); }
Example #11
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 4 votes |
/** * This tests whether virtual Transformations behave correctly. * * <p>Checks whether output selector, partitioning works correctly when applied on a union. */ @Test public void testVirtualTransformations2() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Integer> source = env.fromElements(1, 10); DataStream<Integer> rebalanceMap = source.rebalance().map(new NoOpIntMap()); DataStream<Integer> map1 = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map2 = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map3 = rebalanceMap .map(new NoOpIntMap()); EvenOddOutputSelector selector = new EvenOddOutputSelector(); SingleOutputStreamOperator<Integer> unionedMap = map1.union(map2).union(map3) .broadcast() .split(selector) .select("foo") .map(new NoOpIntMap()); unionedMap.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); // verify that the properties are correctly set on all input operators assertTrue(graph.getStreamNode(map1.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map1.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map1.getId()).getOutputSelectors().contains(selector)); assertTrue(graph.getStreamNode(map2.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map2.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map2.getId()).getOutputSelectors().contains(selector)); assertTrue(graph.getStreamNode(map3.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map3.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map3.getId()).getOutputSelectors().contains(selector)); }
Example #12
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 4 votes |
/** * Tests that the KeyGroupStreamPartitioner are properly set up with the correct value of * maximum parallelism. */ @Test public void testSetupOfKeyGroupPartitioner() { int maxParallelism = 42; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setMaxParallelism(maxParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult = source.keyBy(value -> value).map(new NoOpIntMap()); keyedResult.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResultNode = graph.getStreamNode(keyedResult.getId()); StreamPartitioner<?> streamPartitioner = keyedResultNode.getInEdges().get(0).getPartitioner(); }
Example #13
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 4 votes |
/** * This tests whether virtual Transformations behave correctly. * * <p>Verifies that partitioning, output selector, selected names are correctly set in the * StreamGraph when they are intermixed. */ @Test public void testVirtualTransformations() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Integer> source = env.fromElements(1, 10); DataStream<Integer> rebalanceMap = source.rebalance().map(new NoOpIntMap()); // verify that only the partitioning that was set last is used DataStream<Integer> broadcastMap = rebalanceMap .forward() .global() .broadcast() .map(new NoOpIntMap()); broadcastMap.addSink(new DiscardingSink<>()); // verify that partitioning is preserved across union and split/select EvenOddOutputSelector selector1 = new EvenOddOutputSelector(); EvenOddOutputSelector selector2 = new EvenOddOutputSelector(); EvenOddOutputSelector selector3 = new EvenOddOutputSelector(); DataStream<Integer> map1Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map1 = map1Operator .broadcast() .split(selector1) .select("even"); DataStream<Integer> map2Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map2 = map2Operator .split(selector2) .select("odd") .global(); DataStream<Integer> map3Operator = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map3 = map3Operator .global() .split(selector3) .select("even") .shuffle(); SingleOutputStreamOperator<Integer> unionedMap = map1.union(map2).union(map3) .map(new NoOpIntMap()); unionedMap.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); // rebalanceMap assertTrue(graph.getStreamNode(rebalanceMap.getId()).getInEdges().get(0).getPartitioner() instanceof RebalancePartitioner); // verify that only last partitioning takes precedence assertTrue(graph.getStreamNode(broadcastMap.getId()).getInEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertEquals(rebalanceMap.getId(), graph.getSourceVertex(graph.getStreamNode(broadcastMap.getId()).getInEdges().get(0)).getId()); // verify that partitioning in unions is preserved and that it works across split/select assertTrue(graph.getStreamNode(map1Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map1Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("even")); assertTrue(graph.getStreamNode(map1Operator.getId()).getOutputSelectors().contains(selector1)); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof GlobalPartitioner); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("odd")); assertTrue(graph.getStreamNode(map2Operator.getId()).getOutputSelectors().contains(selector2)); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutEdges().get(0).getPartitioner() instanceof ShufflePartitioner); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("even")); assertTrue(graph.getStreamNode(map3Operator.getId()).getOutputSelectors().contains(selector3)); }
Example #14
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 4 votes |
/** * This tests whether virtual Transformations behave correctly. * * <p>Checks whether output selector, partitioning works correctly when applied on a union. */ @Test public void testVirtualTransformations2() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Integer> source = env.fromElements(1, 10); DataStream<Integer> rebalanceMap = source.rebalance().map(new NoOpIntMap()); DataStream<Integer> map1 = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map2 = rebalanceMap .map(new NoOpIntMap()); DataStream<Integer> map3 = rebalanceMap .map(new NoOpIntMap()); EvenOddOutputSelector selector = new EvenOddOutputSelector(); SingleOutputStreamOperator<Integer> unionedMap = map1.union(map2).union(map3) .broadcast() .split(selector) .select("foo") .map(new NoOpIntMap()); unionedMap.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); // verify that the properties are correctly set on all input operators assertTrue(graph.getStreamNode(map1.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map1.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map1.getId()).getOutputSelectors().contains(selector)); assertTrue(graph.getStreamNode(map2.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map2.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map2.getId()).getOutputSelectors().contains(selector)); assertTrue(graph.getStreamNode(map3.getId()).getOutEdges().get(0).getPartitioner() instanceof BroadcastPartitioner); assertTrue(graph.getStreamNode(map3.getId()).getOutEdges().get(0).getSelectedNames().get(0).equals("foo")); assertTrue(graph.getStreamNode(map3.getId()).getOutputSelectors().contains(selector)); }
Example #15
Source File: StreamGraphGeneratorTest.java From flink with Apache License 2.0 | 4 votes |
/** * Tests that the KeyGroupStreamPartitioner are properly set up with the correct value of * maximum parallelism. */ @Test public void testSetupOfKeyGroupPartitioner() { int maxParallelism = 42; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setMaxParallelism(maxParallelism); DataStream<Integer> source = env.fromElements(1, 2, 3); DataStream<Integer> keyedResult = source.keyBy(value -> value).map(new NoOpIntMap()); keyedResult.addSink(new DiscardingSink<>()); StreamGraph graph = env.getStreamGraph(); StreamNode keyedResultNode = graph.getStreamNode(keyedResult.getId()); StreamPartitioner<?> streamPartitioner = keyedResultNode.getInEdges().get(0).getPartitioner(); }