Search in sources :

Example 16 with ReplicatingInputFormat

use of org.apache.flink.api.common.io.ReplicatingInputFormat in project flink by apache.

the class ReplicatingDataSourceITCase method testReplicatedSourceToJoin.

@Test
public void testReplicatedSourceToJoin() throws Exception {
    /*
         * Test replicated source going into join
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<Tuple1<Long>> source1 = env.createInput(new ReplicatingInputFormat<Long, GenericInputSplit>(new ParallelIteratorInputFormat<Long>(new NumberSequenceIterator(0L, 1000L))), BasicTypeInfo.LONG_TYPE_INFO).map(new ToTuple());
    DataSet<Tuple1<Long>> source2 = env.generateSequence(0L, 1000L).map(new ToTuple());
    DataSet<Tuple> pairs = source1.join(source2).where(0).equalTo(0).projectFirst(0).sum(0);
    List<Tuple> result = pairs.collect();
    String expectedResult = "(500500)";
    compareResultAsText(result, expectedResult);
}
Also used : ReplicatingInputFormat(org.apache.flink.api.common.io.ReplicatingInputFormat) ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) Tuple1(org.apache.flink.api.java.tuple.Tuple1) Tuple(org.apache.flink.api.java.tuple.Tuple) NumberSequenceIterator(org.apache.flink.util.NumberSequenceIterator) Test(org.junit.Test)

Example 17 with ReplicatingInputFormat

use of org.apache.flink.api.common.io.ReplicatingInputFormat in project flink by apache.

the class ReplicatingDataSourceITCase method testReplicatedSourceToCross.

@Test
public void testReplicatedSourceToCross() throws Exception {
    /*
         * Test replicated source going into cross
         */
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    DataSet<Tuple1<Long>> source1 = env.createInput(new ReplicatingInputFormat<Long, GenericInputSplit>(new ParallelIteratorInputFormat<Long>(new NumberSequenceIterator(0L, 1000L))), BasicTypeInfo.LONG_TYPE_INFO).map(new ToTuple());
    DataSet<Tuple1<Long>> source2 = env.generateSequence(0L, 1000L).map(new ToTuple());
    DataSet<Tuple1<Long>> pairs = source1.cross(source2).filter(new FilterFunction<Tuple2<Tuple1<Long>, Tuple1<Long>>>() {

        @Override
        public boolean filter(Tuple2<Tuple1<Long>, Tuple1<Long>> value) throws Exception {
            return value.f0.f0.equals(value.f1.f0);
        }
    }).map(new MapFunction<Tuple2<Tuple1<Long>, Tuple1<Long>>, Tuple1<Long>>() {

        @Override
        public Tuple1<Long> map(Tuple2<Tuple1<Long>, Tuple1<Long>> value) throws Exception {
            return value.f0;
        }
    }).sum(0);
    List<Tuple1<Long>> result = pairs.collect();
    String expectedResult = "(500500)";
    compareResultAsText(result, expectedResult);
}
Also used : ExecutionEnvironment(org.apache.flink.api.java.ExecutionEnvironment) MapFunction(org.apache.flink.api.common.functions.MapFunction) NumberSequenceIterator(org.apache.flink.util.NumberSequenceIterator) ReplicatingInputFormat(org.apache.flink.api.common.io.ReplicatingInputFormat) Tuple1(org.apache.flink.api.java.tuple.Tuple1) Tuple2(org.apache.flink.api.java.tuple.Tuple2) Test(org.junit.Test)

Aggregations

ReplicatingInputFormat (org.apache.flink.api.common.io.ReplicatingInputFormat)17 ExecutionEnvironment (org.apache.flink.api.java.ExecutionEnvironment)16 Tuple1 (org.apache.flink.api.java.tuple.Tuple1)16 Test (org.junit.Test)16 Tuple2 (org.apache.flink.api.java.tuple.Tuple2)14 Plan (org.apache.flink.api.common.Plan)12 FileInputSplit (org.apache.flink.core.fs.FileInputSplit)12 Path (org.apache.flink.core.fs.Path)12 OptimizedPlan (org.apache.flink.optimizer.plan.OptimizedPlan)12 DualInputPlanNode (org.apache.flink.optimizer.plan.DualInputPlanNode)8 SinkPlanNode (org.apache.flink.optimizer.plan.SinkPlanNode)8 ShipStrategyType (org.apache.flink.runtime.operators.shipping.ShipStrategyType)8 NumberSequenceIterator (org.apache.flink.util.NumberSequenceIterator)4 MapFunction (org.apache.flink.api.common.functions.MapFunction)2 Tuple (org.apache.flink.api.java.tuple.Tuple)2 ArrayList (java.util.ArrayList)1 FileInputFormat (org.apache.flink.api.common.io.FileInputFormat)1 Costs (org.apache.flink.optimizer.costs.Costs)1 PlanNode (org.apache.flink.optimizer.plan.PlanNode)1 SourcePlanNode (org.apache.flink.optimizer.plan.SourcePlanNode)1