org.apache.flink.optimizer.testfunctions.IdentityCrosser Java Examples
The following examples show how to use
org.apache.flink.optimizer.testfunctions.IdentityCrosser.
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: HardPlansCompilationTest.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
/** * Source -> Map -> Reduce -> Cross -> Reduce -> Cross -> Reduce -> * |--------------------------/ / * |--------------------------------------------/ * * First cross has SameKeyFirst output contract */ @Test public void testTicket158() { // construct the plan ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> set1 = env.generateSequence(0,1); set1.map(new IdentityMapper<Long>()).name("Map1") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce1") .cross(set1).with(new IdentityCrosser<Long>()).withForwardedFieldsFirst("*").name("Cross1") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce2") .cross(set1).with(new IdentityCrosser<Long>()).name("Cross2") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce3") .output(new DiscardingOutputFormat<Long>()).name("Sink"); Plan plan = env.createProgramPlan(); OptimizedPlan oPlan = compileNoStats(plan); JobGraphGenerator jobGen = new JobGraphGenerator(); jobGen.compileJobGraph(oPlan); }
Example #2
Source File: HardPlansCompilationTest.java From flink with Apache License 2.0 | 6 votes |
/** * Source -> Map -> Reduce -> Cross -> Reduce -> Cross -> Reduce -> * |--------------------------/ / * |--------------------------------------------/ * * First cross has SameKeyFirst output contract */ @Test public void testTicket158() { // construct the plan ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> set1 = env.generateSequence(0,1); set1.map(new IdentityMapper<Long>()).name("Map1") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce1") .cross(set1).with(new IdentityCrosser<Long>()).withForwardedFieldsFirst("*").name("Cross1") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce2") .cross(set1).with(new IdentityCrosser<Long>()).name("Cross2") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce3") .output(new DiscardingOutputFormat<Long>()).name("Sink"); Plan plan = env.createProgramPlan(); OptimizedPlan oPlan = compileNoStats(plan); JobGraphGenerator jobGen = new JobGraphGenerator(); jobGen.compileJobGraph(oPlan); }
Example #3
Source File: HardPlansCompilationTest.java From flink with Apache License 2.0 | 6 votes |
/** * Source -> Map -> Reduce -> Cross -> Reduce -> Cross -> Reduce -> * |--------------------------/ / * |--------------------------------------------/ * * First cross has SameKeyFirst output contract */ @Test public void testTicket158() { // construct the plan ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> set1 = env.generateSequence(0,1); set1.map(new IdentityMapper<Long>()).name("Map1") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce1") .cross(set1).with(new IdentityCrosser<Long>()).withForwardedFieldsFirst("*").name("Cross1") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce2") .cross(set1).with(new IdentityCrosser<Long>()).name("Cross2") .groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce3") .output(new DiscardingOutputFormat<Long>()).name("Sink"); Plan plan = env.createProgramPlan(); OptimizedPlan oPlan = compileNoStats(plan); JobGraphGenerator jobGen = new JobGraphGenerator(); jobGen.compileJobGraph(oPlan); }
Example #4
Source File: BranchingPlansCompilerTest.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Test to ensure that sourceA is inside as well as outside of the iteration the same * node. * * <pre> * (SRC A) (SRC B) * / \ / \ * (SINK 1) (ITERATION) | (SINK 2) * / \ / * (SINK 3) (CROSS => NEXT PARTIAL SOLUTION) * </pre> */ @Test public void testClosure() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> sourceA = env.generateSequence(0,1); DataSet<Long> sourceB = env.generateSequence(0,1); sourceA.output(new DiscardingOutputFormat<Long>()); sourceB.output(new DiscardingOutputFormat<Long>()); IterativeDataSet<Long> loopHead = sourceA.iterate(10).name("Loop"); DataSet<Long> loopTail = loopHead.cross(sourceB).with(new IdentityCrosser<Long>()); DataSet<Long> loopRes = loopHead.closeWith(loopTail); loopRes.output(new DiscardingOutputFormat<Long>()); Plan plan = env.createProgramPlan(); try{ compileNoStats(plan); }catch(Exception e){ e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #5
Source File: BranchingPlansCompilerTest.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * <pre> * (SRC A) (SRC B) (SRC C) * / \ / / \ * (SINK 1) (DELTA ITERATION) | (SINK 2) * / | \ / * (SINK 3) | (CROSS => NEXT WORKSET) * | | * (JOIN => SOLUTION SET DELTA) * </pre> */ @Test public void testClosureDeltaIteration() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Tuple2<Long, Long>> sourceA = env.generateSequence(0,1).map(new Duplicator<Long>()); DataSet<Tuple2<Long, Long>> sourceB = env.generateSequence(0,1).map(new Duplicator<Long>()); DataSet<Tuple2<Long, Long>> sourceC = env.generateSequence(0,1).map(new Duplicator<Long>()); sourceA.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); sourceC.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); DeltaIteration<Tuple2<Long, Long>, Tuple2<Long, Long>> loop = sourceA.iterateDelta(sourceB, 10, 0); DataSet<Tuple2<Long, Long>> workset = loop.getWorkset().cross(sourceB).with(new IdentityCrosser<Tuple2<Long, Long>>()).name("Next work set"); DataSet<Tuple2<Long, Long>> delta = workset.join(loop.getSolutionSet()).where(0).equalTo(0).with(new IdentityJoiner<Tuple2<Long, Long>>()).name("Solution set delta"); DataSet<Tuple2<Long, Long>> result = loop.closeWith(delta, workset); result.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); Plan plan = env.createProgramPlan(); try{ compileNoStats(plan); }catch(Exception e){ e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #6
Source File: BranchingPlansCompilerTest.java From flink with Apache License 2.0 | 5 votes |
/** * Test to ensure that sourceA is inside as well as outside of the iteration the same * node. * * <pre> * (SRC A) (SRC B) * / \ / \ * (SINK 1) (ITERATION) | (SINK 2) * / \ / * (SINK 3) (CROSS => NEXT PARTIAL SOLUTION) * </pre> */ @Test public void testClosure() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> sourceA = env.generateSequence(0,1); DataSet<Long> sourceB = env.generateSequence(0,1); sourceA.output(new DiscardingOutputFormat<Long>()); sourceB.output(new DiscardingOutputFormat<Long>()); IterativeDataSet<Long> loopHead = sourceA.iterate(10).name("Loop"); DataSet<Long> loopTail = loopHead.cross(sourceB).with(new IdentityCrosser<Long>()); DataSet<Long> loopRes = loopHead.closeWith(loopTail); loopRes.output(new DiscardingOutputFormat<Long>()); Plan plan = env.createProgramPlan(); try{ compileNoStats(plan); }catch(Exception e){ e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #7
Source File: BranchingPlansCompilerTest.java From flink with Apache License 2.0 | 5 votes |
/** * <pre> * (SRC A) (SRC B) (SRC C) * / \ / / \ * (SINK 1) (DELTA ITERATION) | (SINK 2) * / | \ / * (SINK 3) | (CROSS => NEXT WORKSET) * | | * (JOIN => SOLUTION SET DELTA) * </pre> */ @Test public void testClosureDeltaIteration() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Tuple2<Long, Long>> sourceA = env.generateSequence(0,1).map(new Duplicator<Long>()); DataSet<Tuple2<Long, Long>> sourceB = env.generateSequence(0,1).map(new Duplicator<Long>()); DataSet<Tuple2<Long, Long>> sourceC = env.generateSequence(0,1).map(new Duplicator<Long>()); sourceA.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); sourceC.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); DeltaIteration<Tuple2<Long, Long>, Tuple2<Long, Long>> loop = sourceA.iterateDelta(sourceB, 10, 0); DataSet<Tuple2<Long, Long>> workset = loop.getWorkset().cross(sourceB).with(new IdentityCrosser<Tuple2<Long, Long>>()).name("Next work set"); DataSet<Tuple2<Long, Long>> delta = workset.join(loop.getSolutionSet()).where(0).equalTo(0).with(new IdentityJoiner<Tuple2<Long, Long>>()).name("Solution set delta"); DataSet<Tuple2<Long, Long>> result = loop.closeWith(delta, workset); result.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); Plan plan = env.createProgramPlan(); try{ compileNoStats(plan); }catch(Exception e){ e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #8
Source File: BranchingPlansCompilerTest.java From flink with Apache License 2.0 | 5 votes |
/** * Test to ensure that sourceA is inside as well as outside of the iteration the same * node. * * <pre> * (SRC A) (SRC B) * / \ / \ * (SINK 1) (ITERATION) | (SINK 2) * / \ / * (SINK 3) (CROSS => NEXT PARTIAL SOLUTION) * </pre> */ @Test public void testClosure() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> sourceA = env.generateSequence(0,1); DataSet<Long> sourceB = env.generateSequence(0,1); sourceA.output(new DiscardingOutputFormat<Long>()); sourceB.output(new DiscardingOutputFormat<Long>()); IterativeDataSet<Long> loopHead = sourceA.iterate(10).name("Loop"); DataSet<Long> loopTail = loopHead.cross(sourceB).with(new IdentityCrosser<Long>()); DataSet<Long> loopRes = loopHead.closeWith(loopTail); loopRes.output(new DiscardingOutputFormat<Long>()); Plan plan = env.createProgramPlan(); try{ compileNoStats(plan); }catch(Exception e){ e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #9
Source File: BranchingPlansCompilerTest.java From flink with Apache License 2.0 | 5 votes |
/** * <pre> * (SRC A) (SRC B) (SRC C) * / \ / / \ * (SINK 1) (DELTA ITERATION) | (SINK 2) * / | \ / * (SINK 3) | (CROSS => NEXT WORKSET) * | | * (JOIN => SOLUTION SET DELTA) * </pre> */ @Test public void testClosureDeltaIteration() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Tuple2<Long, Long>> sourceA = env.generateSequence(0,1).map(new Duplicator<Long>()); DataSet<Tuple2<Long, Long>> sourceB = env.generateSequence(0,1).map(new Duplicator<Long>()); DataSet<Tuple2<Long, Long>> sourceC = env.generateSequence(0,1).map(new Duplicator<Long>()); sourceA.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); sourceC.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); DeltaIteration<Tuple2<Long, Long>, Tuple2<Long, Long>> loop = sourceA.iterateDelta(sourceB, 10, 0); DataSet<Tuple2<Long, Long>> workset = loop.getWorkset().cross(sourceB).with(new IdentityCrosser<Tuple2<Long, Long>>()).name("Next work set"); DataSet<Tuple2<Long, Long>> delta = workset.join(loop.getSolutionSet()).where(0).equalTo(0).with(new IdentityJoiner<Tuple2<Long, Long>>()).name("Solution set delta"); DataSet<Tuple2<Long, Long>> result = loop.closeWith(delta, workset); result.output(new DiscardingOutputFormat<Tuple2<Long,Long>>()); Plan plan = env.createProgramPlan(); try{ compileNoStats(plan); }catch(Exception e){ e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #10
Source File: BranchingPlansCompilerTest.java From Flink-CEPplus with Apache License 2.0 | 4 votes |
@SuppressWarnings("unchecked") @Test public void testBranchEachContractType() { try { // construct the plan ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> sourceA = env.generateSequence(0,1); DataSet<Long> sourceB = env.generateSequence(0,1); DataSet<Long> sourceC = env.generateSequence(0,1); DataSet<Long> map1 = sourceA.map(new IdentityMapper<Long>()).name("Map 1"); DataSet<Long> reduce1 = map1.groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce 1"); DataSet<Long> join1 = sourceB.union(sourceB).union(sourceC) .join(sourceC).where("*").equalTo("*") .with(new IdentityJoiner<Long>()).name("Join 1"); DataSet<Long> coGroup1 = sourceA.coGroup(sourceB).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 1"); DataSet<Long> cross1 = reduce1.cross(coGroup1) .with(new IdentityCrosser<Long>()).name("Cross 1"); DataSet<Long> coGroup2 = cross1.coGroup(cross1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 2"); DataSet<Long> coGroup3 = map1.coGroup(join1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 3"); DataSet<Long> map2 = coGroup3.map(new IdentityMapper<Long>()).name("Map 2"); DataSet<Long> coGroup4 = map2.coGroup(join1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 4"); DataSet<Long> coGroup5 = coGroup2.coGroup(coGroup1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 5"); DataSet<Long> coGroup6 = reduce1.coGroup(coGroup4).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 6"); DataSet<Long> coGroup7 = coGroup5.coGroup(coGroup6).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 7"); coGroup7.union(sourceA) .union(coGroup3) .union(coGroup4) .union(coGroup1) .output(new DiscardingOutputFormat<Long>()); Plan plan = env.createProgramPlan(); OptimizedPlan oPlan = compileNoStats(plan); JobGraphGenerator jobGen = new JobGraphGenerator(); //Compile plan to verify that no error is thrown jobGen.compileJobGraph(oPlan); } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #11
Source File: BranchingPlansCompilerTest.java From flink with Apache License 2.0 | 4 votes |
@SuppressWarnings("unchecked") @Test public void testBranchEachContractType() { try { // construct the plan ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> sourceA = env.generateSequence(0,1); DataSet<Long> sourceB = env.generateSequence(0,1); DataSet<Long> sourceC = env.generateSequence(0,1); DataSet<Long> map1 = sourceA.map(new IdentityMapper<Long>()).name("Map 1"); DataSet<Long> reduce1 = map1.groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce 1"); DataSet<Long> join1 = sourceB.union(sourceB).union(sourceC) .join(sourceC).where("*").equalTo("*") .with(new IdentityJoiner<Long>()).name("Join 1"); DataSet<Long> coGroup1 = sourceA.coGroup(sourceB).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 1"); DataSet<Long> cross1 = reduce1.cross(coGroup1) .with(new IdentityCrosser<Long>()).name("Cross 1"); DataSet<Long> coGroup2 = cross1.coGroup(cross1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 2"); DataSet<Long> coGroup3 = map1.coGroup(join1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 3"); DataSet<Long> map2 = coGroup3.map(new IdentityMapper<Long>()).name("Map 2"); DataSet<Long> coGroup4 = map2.coGroup(join1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 4"); DataSet<Long> coGroup5 = coGroup2.coGroup(coGroup1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 5"); DataSet<Long> coGroup6 = reduce1.coGroup(coGroup4).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 6"); DataSet<Long> coGroup7 = coGroup5.coGroup(coGroup6).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 7"); coGroup7.union(sourceA) .union(coGroup3) .union(coGroup4) .union(coGroup1) .output(new DiscardingOutputFormat<Long>()); Plan plan = env.createProgramPlan(); OptimizedPlan oPlan = compileNoStats(plan); JobGraphGenerator jobGen = new JobGraphGenerator(); //Compile plan to verify that no error is thrown jobGen.compileJobGraph(oPlan); } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); } }
Example #12
Source File: BranchingPlansCompilerTest.java From flink with Apache License 2.0 | 4 votes |
@SuppressWarnings("unchecked") @Test public void testBranchEachContractType() { try { // construct the plan ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(DEFAULT_PARALLELISM); DataSet<Long> sourceA = env.generateSequence(0,1); DataSet<Long> sourceB = env.generateSequence(0,1); DataSet<Long> sourceC = env.generateSequence(0,1); DataSet<Long> map1 = sourceA.map(new IdentityMapper<Long>()).name("Map 1"); DataSet<Long> reduce1 = map1.groupBy("*").reduceGroup(new IdentityGroupReducer<Long>()).name("Reduce 1"); DataSet<Long> join1 = sourceB.union(sourceB).union(sourceC) .join(sourceC).where("*").equalTo("*") .with(new IdentityJoiner<Long>()).name("Join 1"); DataSet<Long> coGroup1 = sourceA.coGroup(sourceB).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 1"); DataSet<Long> cross1 = reduce1.cross(coGroup1) .with(new IdentityCrosser<Long>()).name("Cross 1"); DataSet<Long> coGroup2 = cross1.coGroup(cross1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 2"); DataSet<Long> coGroup3 = map1.coGroup(join1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 3"); DataSet<Long> map2 = coGroup3.map(new IdentityMapper<Long>()).name("Map 2"); DataSet<Long> coGroup4 = map2.coGroup(join1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 4"); DataSet<Long> coGroup5 = coGroup2.coGroup(coGroup1).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 5"); DataSet<Long> coGroup6 = reduce1.coGroup(coGroup4).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 6"); DataSet<Long> coGroup7 = coGroup5.coGroup(coGroup6).where("*").equalTo("*") .with(new IdentityCoGrouper<Long>()).name("CoGroup 7"); coGroup7.union(sourceA) .union(coGroup3) .union(coGroup4) .union(coGroup1) .output(new DiscardingOutputFormat<Long>()); Plan plan = env.createProgramPlan(); OptimizedPlan oPlan = compileNoStats(plan); JobGraphGenerator jobGen = new JobGraphGenerator(); //Compile plan to verify that no error is thrown jobGen.compileJobGraph(oPlan); } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); } }