Search in sources :

Example 86 with ExecutionEnvironment

use of org.apache.flink.api.java.ExecutionEnvironment in project flink by apache.

the class CoGroupOperatorTest method testCoGroupKeyExpressions3Nested.

@Test(expected = InvalidProgramException.class)
public void testCoGroupKeyExpressions3Nested() {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<CustomType> ds1 = env.fromCollection(customTypeData);
    DataSet<CustomType> ds2 = env.fromCollection(customTypeData);
    // should not work, incompatible number of cogroup keys
    ds1.coGroup(ds2).where("nested.myInt", "nested.myString").equalTo("nested.myString");
}
Also used : CustomType(org.apache.flink.api.java.operator.JoinOperatorTest.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Example 87 with ExecutionEnvironment

use of org.apache.flink.api.java.ExecutionEnvironment in project flink by apache.

the class CoGroupOperatorTest method testCoGroupKeyAtomicExpression2.

@Test
public void testCoGroupKeyAtomicExpression2() {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<Integer> ds1 = env.fromElements(0, 0, 1);
    DataSet<CustomType> ds2 = env.fromCollection(customTypeData);
    ds1.coGroup(ds2).where("*").equalTo("myInt");
}
Also used : CustomType(org.apache.flink.api.java.operator.JoinOperatorTest.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Example 88 with ExecutionEnvironment

use of org.apache.flink.api.java.ExecutionEnvironment in project flink by apache.

the class CoGroupOperatorTest method testCoGroupKeyAtomicInvalidExpression5.

@Test(expected = InvalidProgramException.class)
public void testCoGroupKeyAtomicInvalidExpression5() {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<ArrayList<Integer>> ds1 = env.fromElements(new ArrayList<Integer>());
    DataSet<Integer> ds2 = env.fromElements(0, 0, 0);
    ds1.coGroup(ds2).where("*");
}
Also used : ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 89 with ExecutionEnvironment

use of org.apache.flink.api.java.ExecutionEnvironment in project flink by apache.

the class CoGroupOperatorTest method testCoGroupKeyExpressions3.

@Test(expected = InvalidProgramException.class)
public void testCoGroupKeyExpressions3() {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<CustomType> ds1 = env.fromCollection(customTypeData);
    DataSet<CustomType> ds2 = env.fromCollection(customTypeData);
    // should not work, incompatible number of cogroup keys
    ds1.coGroup(ds2).where("myInt", "myString").equalTo("myString");
}
Also used : CustomType(org.apache.flink.api.java.operator.JoinOperatorTest.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Example 90 with ExecutionEnvironment

use of org.apache.flink.api.java.ExecutionEnvironment in project flink by apache.

the class CoGroupOperatorTest method testSemanticPropsWithKeySelector1.

@Test
public void testSemanticPropsWithKeySelector1() {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<Tuple5<Integer, Long, String, Long, Integer>> tupleDs1 = env.fromCollection(emptyTupleData, tupleTypeInfo);
    DataSet<Tuple5<Integer, Long, String, Long, Integer>> tupleDs2 = env.fromCollection(emptyTupleData, tupleTypeInfo);
    CoGroupOperator<?, ?, ?> coGroupOp = tupleDs1.coGroup(tupleDs2).where(new DummyTestKeySelector()).equalTo(new DummyTestKeySelector()).with(new DummyTestCoGroupFunction1());
    SemanticProperties semProps = coGroupOp.getSemanticProperties();
    assertTrue(semProps.getForwardingTargetFields(0, 0).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(0, 1).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(0, 2).size() == 1);
    assertTrue(semProps.getForwardingTargetFields(0, 2).contains(4));
    assertTrue(semProps.getForwardingTargetFields(0, 3).size() == 2);
    assertTrue(semProps.getForwardingTargetFields(0, 3).contains(1));
    assertTrue(semProps.getForwardingTargetFields(0, 3).contains(3));
    assertTrue(semProps.getForwardingTargetFields(0, 4).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(0, 5).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(0, 6).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(1, 0).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(1, 1).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(1, 2).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(1, 3).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(1, 4).size() == 1);
    assertTrue(semProps.getForwardingTargetFields(1, 4).contains(2));
    assertTrue(semProps.getForwardingTargetFields(1, 5).size() == 0);
    assertTrue(semProps.getForwardingTargetFields(1, 6).size() == 1);
    assertTrue(semProps.getForwardingTargetFields(1, 6).contains(0));
    assertTrue(semProps.getReadFields(0).size() == 3);
    assertTrue(semProps.getReadFields(0).contains(2));
    assertTrue(semProps.getReadFields(0).contains(4));
    assertTrue(semProps.getReadFields(0).contains(6));
    assertTrue(semProps.getReadFields(1).size() == 2);
    assertTrue(semProps.getReadFields(1).contains(3));
    assertTrue(semProps.getReadFields(1).contains(5));
}
Also used : Tuple5(org.apache.flink.api.java.tuple.Tuple5) SemanticProperties(org.apache.flink.api.common.operators.SemanticProperties) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Aggregations

ExecutionEnvironment (org.apache.flink.api.java.ExecutionEnvironment)1247 Test (org.junit.Test)1090 Tuple2 (org.apache.flink.api.java.tuple.Tuple2)374 Tuple3 (org.apache.flink.api.java.tuple.Tuple3)264 Plan (org.apache.flink.api.common.Plan)238 Tuple5 (org.apache.flink.api.java.tuple.Tuple5)236 OptimizedPlan (org.apache.flink.optimizer.plan.OptimizedPlan)199 SinkPlanNode (org.apache.flink.optimizer.plan.SinkPlanNode)139 InvalidProgramException (org.apache.flink.api.common.InvalidProgramException)138 Vertex (org.apache.flink.graph.Vertex)93 SingleInputPlanNode (org.apache.flink.optimizer.plan.SingleInputPlanNode)73 Edge (org.apache.flink.graph.Edge)70 DualInputPlanNode (org.apache.flink.optimizer.plan.DualInputPlanNode)66 ArrayList (java.util.ArrayList)57 Tuple1 (org.apache.flink.api.java.tuple.Tuple1)49 SourcePlanNode (org.apache.flink.optimizer.plan.SourcePlanNode)44 DiscardingOutputFormat (org.apache.flink.api.java.io.DiscardingOutputFormat)39 BatchTableEnvironment (org.apache.flink.table.api.java.BatchTableEnvironment)38 FieldSet (org.apache.flink.api.common.operators.util.FieldSet)37 JobGraphGenerator (org.apache.flink.optimizer.plantranslate.JobGraphGenerator)35