Search in sources :

Example 21 with CustomType

use of org.apache.flink.test.operators.util.CollectionDataSets.CustomType in project flink by apache.

the class CoGroupITCase method testCoGroupOnATupleInputWithKeyFieldSelectorAndACustomTypeInputWithKeyExtractor.

@Test
public void testCoGroupOnATupleInputWithKeyFieldSelectorAndACustomTypeInputWithKeyExtractor() throws Exception {
    /*
         * CoGroup on a tuple input with key field selector and a custom type input with key extractor
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<Tuple5<Integer, Long, Integer, String, Long>> ds = CollectionDataSets.get5TupleDataSet(env);
    DataSet<CustomType> ds2 = CollectionDataSets.getCustomTypeDataSet(env);
    DataSet<Tuple3<Integer, Long, String>> coGroupDs = ds.coGroup(ds2).where(2).equalTo(new KeySelector2()).with(new MixedCoGroup());
    List<Tuple3<Integer, Long, String>> result = coGroupDs.collect();
    String expected = "0,1,test\n" + "1,2,test\n" + "2,5,test\n" + "3,15,test\n" + "4,33,test\n" + "5,63,test\n" + "6,109,test\n" + "7,4,test\n" + "8,4,test\n" + "9,4,test\n" + "10,5,test\n" + "11,5,test\n" + "12,5,test\n" + "13,5,test\n" + "14,5,test\n";
    compareResultAsTuples(result, expected);
}
Also used : CustomType(org.apache.flink.test.operators.util.CollectionDataSets.CustomType) Tuple5(org.apache.flink.api.java.tuple.Tuple5) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Tuple3(org.apache.flink.api.java.tuple.Tuple3) Test(org.junit.Test)

Example 22 with CustomType

use of org.apache.flink.test.operators.util.CollectionDataSets.CustomType in project flink by apache.

the class DistinctITCase method testCorrectnessOfDistinctOnCustomTypeWithTypeExtractor.

@Test
public void testCorrectnessOfDistinctOnCustomTypeWithTypeExtractor() throws Exception {
    /*
         * check correctness of distinct on custom type with type extractor
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<CustomType> ds = CollectionDataSets.getCustomTypeDataSet(env);
    DataSet<Tuple1<Integer>> reduceDs = ds.distinct(new KeySelector3()).map(new Mapper3());
    List<Tuple1<Integer>> result = reduceDs.collect();
    String expected = "1\n" + "2\n" + "3\n" + "4\n" + "5\n" + "6\n";
    compareResultAsTuples(result, expected);
}
Also used : CustomType(org.apache.flink.test.operators.util.CollectionDataSets.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Tuple1(org.apache.flink.api.java.tuple.Tuple1) Test(org.junit.Test)

Example 23 with CustomType

use of org.apache.flink.test.operators.util.CollectionDataSets.CustomType in project flink by apache.

the class ReduceITCase method testReduceOnCustomTypeWithKeyExtractor.

@Test
public void testReduceOnCustomTypeWithKeyExtractor() throws Exception {
    /*
         * Reduce on custom type with key extractor
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<CustomType> ds = CollectionDataSets.getCustomTypeDataSet(env);
    DataSet<CustomType> reduceDs = ds.groupBy(new KeySelector2()).reduce(new CustomTypeReduce());
    List<CustomType> result = reduceDs.collect();
    String expected = "1,0,Hi\n" + "2,3,Hello!\n" + "3,12,Hello!\n" + "4,30,Hello!\n" + "5,60,Hello!\n" + "6,105,Hello!\n";
    compareResultAsText(result, expected);
}
Also used : CustomType(org.apache.flink.test.operators.util.CollectionDataSets.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Example 24 with CustomType

use of org.apache.flink.test.operators.util.CollectionDataSets.CustomType in project flink by apache.

the class GroupReduceITCase method testPojoKeySelectorGroupSort.

@Test
public void testPojoKeySelectorGroupSort() throws Exception {
    /*
         * check correctness of sorted groupReduce on custom type with keyselector sorting
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<CustomType> ds = CollectionDataSets.getCustomTypeDataSet(env);
    DataSet<CustomType> reduceDs = ds.groupBy(new TwoTuplePojoExtractor()).sortGroup(new StringPojoExtractor(), Order.DESCENDING).reduceGroup(new CustomTypeSortedGroupReduce());
    List<CustomType> result = reduceDs.collect();
    String expected = "1,0,Hi\n" + "2,3,Hello world-Hello\n" + "3,12,Luke Skywalker-I am fine.-Hello world, how are you?\n" + "4,30,Comment#4-Comment#3-Comment#2-Comment#1\n" + "5,60,Comment#9-Comment#8-Comment#7-Comment#6-Comment#5\n" + "6,105,Comment#15-Comment#14-Comment#13-Comment#12-Comment#11-Comment#10\n";
    compareResultAsText(result, expected);
}
Also used : CustomType(org.apache.flink.test.operators.util.CollectionDataSets.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Example 25 with CustomType

use of org.apache.flink.test.operators.util.CollectionDataSets.CustomType in project flink by apache.

the class GroupReduceITCase method testCorrectnessOfGroupReduceOnCustomTypeWithTypeExtractor.

@Test
public void testCorrectnessOfGroupReduceOnCustomTypeWithTypeExtractor() throws Exception {
    /*
         * check correctness of groupReduce on custom type with type extractor
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<CustomType> ds = CollectionDataSets.getCustomTypeDataSet(env);
    DataSet<CustomType> reduceDs = ds.groupBy(new KeySelector2()).reduceGroup(new CustomTypeGroupReduce());
    List<CustomType> result = reduceDs.collect();
    String expected = "1,0,Hello!\n" + "2,3,Hello!\n" + "3,12,Hello!\n" + "4,30,Hello!\n" + "5,60,Hello!\n" + "6,105,Hello!\n";
    compareResultAsText(result, expected);
}
Also used : CustomType(org.apache.flink.test.operators.util.CollectionDataSets.CustomType) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Test(org.junit.Test)

Aggregations

ExecutionEnvironment (org.apache.flink.api.java.ExecutionEnvironment)27 CustomType (org.apache.flink.test.operators.util.CollectionDataSets.CustomType)27 Test (org.junit.Test)27 Tuple3 (org.apache.flink.api.java.tuple.Tuple3)8 Tuple2 (org.apache.flink.api.java.tuple.Tuple2)7 Tuple5 (org.apache.flink.api.java.tuple.Tuple5)3 Tuple7 (org.apache.flink.api.java.tuple.Tuple7)3 POJO (org.apache.flink.test.operators.util.CollectionDataSets.POJO)3 IOException (java.io.IOException)2 InvalidProgramException (org.apache.flink.api.common.InvalidProgramException)2 KeySelector (org.apache.flink.api.java.functions.KeySelector)2 Tuple1 (org.apache.flink.api.java.tuple.Tuple1)1