org.apache.flink.api.common.operators.base.OuterJoinOperatorBase.OuterJoinType Java Examples
The following examples show how to use
org.apache.flink.api.common.operators.base.OuterJoinOperatorBase.OuterJoinType.
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: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testLeftOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #2
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked, rawtypes") private List<Tuple4<String, String, String, Object>> computeOuterJoin(ResettableMutableObjectIterator<Tuple2<String, String>> input1, ResettableMutableObjectIterator<Tuple2<String, Integer>> input2, OuterJoinType outerJoinType) throws Exception { input1.reset(); input2.reset(); AbstractMergeOuterJoinIterator iterator = createOuterJoinIterator( outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComp, this.memoryManager, this.ioManager, PAGES_FOR_BNLJN, this.parentTask ); List<Tuple4<String, String, String, Object>> actual = new ArrayList<>(); ListCollector<Tuple4<String, String, String, Object>> collector = new ListCollector<>(actual); while (iterator.callWithNextKey(new SimpleTupleJoinFunction(), collector)) ; iterator.close(); return actual; }
Example #3
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testLeftSideEmpty() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of(); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actualLeft = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> actualRight = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> actualFull = computeOuterJoin(input1, input2, OuterJoinType.FULL); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>(null, null, "Jack", 200), new Tuple4<String, String, String, Object>(null, null, "Zed", 150), new Tuple4<String, String, String, Object>(null, null, "Zed", 250) ); Assert.assertEquals(Collections.<Tuple4<String,String,String,Object>>emptyList(), actualLeft); Assert.assertEquals(expected, actualRight); Assert.assertEquals(expected, actualFull); }
Example #4
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testRightSideEmpty() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of(); List<Tuple4<String, String, String, Object>> actualLeft = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> actualRight = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> actualFull = computeOuterJoin(input1, input2, OuterJoinType.FULL); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>("Jack", "Engineering", null, null), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", null, null) ); Assert.assertEquals(expected, actualLeft); Assert.assertEquals(expected, actualFull); Assert.assertEquals(Collections.<Tuple4<String,String,String,Object>>emptyList(), actualRight); }
Example #5
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testRightOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #6
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testLeftOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #7
Source File: ReusingMergeOuterJoinIterator.java From flink with Apache License 2.0 | 6 votes |
public ReusingMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); this.copy1 = serializer1.createInstance(); this.spillHeadCopy = serializer1.createInstance(); this.copy2 = serializer2.createInstance(); this.blockHeadCopy = serializer2.createInstance(); }
Example #8
Source File: AbstractMergeOuterJoinIterator.java From flink with Apache License 2.0 | 6 votes |
public AbstractMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); this.outerJoinType = outerJoinType; }
Example #9
Source File: AbstractMergeOuterJoinIterator.java From flink with Apache License 2.0 | 6 votes |
public AbstractMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); this.outerJoinType = outerJoinType; }
Example #10
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testLeftOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #11
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testRightOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #12
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testRightSideEmpty() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of(); List<Tuple4<String, String, String, Object>> actualLeft = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> actualRight = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> actualFull = computeOuterJoin(input1, input2, OuterJoinType.FULL); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>("Jack", "Engineering", null, null), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", null, null) ); Assert.assertEquals(expected, actualLeft); Assert.assertEquals(expected, actualFull); Assert.assertEquals(Collections.<Tuple4<String,String,String,Object>>emptyList(), actualRight); }
Example #13
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testRightOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #14
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testLeftSideEmpty() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of(); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actualLeft = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> actualRight = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> actualFull = computeOuterJoin(input1, input2, OuterJoinType.FULL); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>(null, null, "Jack", 200), new Tuple4<String, String, String, Object>(null, null, "Zed", 150), new Tuple4<String, String, String, Object>(null, null, "Zed", 250) ); Assert.assertEquals(Collections.<Tuple4<String,String,String,Object>>emptyList(), actualLeft); Assert.assertEquals(expected, actualRight); Assert.assertEquals(expected, actualFull); }
Example #15
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testRightSideEmpty() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of(); List<Tuple4<String, String, String, Object>> actualLeft = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> actualRight = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> actualFull = computeOuterJoin(input1, input2, OuterJoinType.FULL); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>("Jack", "Engineering", null, null), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", null, null) ); Assert.assertEquals(expected, actualLeft); Assert.assertEquals(expected, actualFull); Assert.assertEquals(Collections.<Tuple4<String,String,String,Object>>emptyList(), actualRight); }
Example #16
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") protected void testLeftSideEmpty() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of(); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); List<Tuple4<String, String, String, Object>> actualLeft = computeOuterJoin(input1, input2, OuterJoinType.LEFT); List<Tuple4<String, String, String, Object>> actualRight = computeOuterJoin(input1, input2, OuterJoinType.RIGHT); List<Tuple4<String, String, String, Object>> actualFull = computeOuterJoin(input1, input2, OuterJoinType.FULL); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>(null, null, "Jack", 200), new Tuple4<String, String, String, Object>(null, null, "Zed", 150), new Tuple4<String, String, String, Object>(null, null, "Zed", 250) ); Assert.assertEquals(Collections.<Tuple4<String,String,String,Object>>emptyList(), actualLeft); Assert.assertEquals(expected, actualRight); Assert.assertEquals(expected, actualFull); }
Example #17
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked, rawtypes") private List<Tuple4<String, String, String, Object>> computeOuterJoin(ResettableMutableObjectIterator<Tuple2<String, String>> input1, ResettableMutableObjectIterator<Tuple2<String, Integer>> input2, OuterJoinType outerJoinType) throws Exception { input1.reset(); input2.reset(); AbstractMergeOuterJoinIterator iterator = createOuterJoinIterator( outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComp, this.memoryManager, this.ioManager, PAGES_FOR_BNLJN, this.parentTask ); List<Tuple4<String, String, String, Object>> actual = new ArrayList<>(); ListCollector<Tuple4<String, String, String, Object>> collector = new ListCollector<>(actual); while (iterator.callWithNextKey(new SimpleTupleJoinFunction(), collector)) ; iterator.close(); return actual; }
Example #18
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked, rawtypes") private List<Tuple4<String, String, String, Object>> computeOuterJoin(ResettableMutableObjectIterator<Tuple2<String, String>> input1, ResettableMutableObjectIterator<Tuple2<String, Integer>> input2, OuterJoinType outerJoinType) throws Exception { input1.reset(); input2.reset(); AbstractMergeOuterJoinIterator iterator = createOuterJoinIterator( outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComp, this.memoryManager, this.ioManager, PAGES_FOR_BNLJN, this.parentTask ); List<Tuple4<String, String, String, Object>> actual = new ArrayList<>(); ListCollector<Tuple4<String, String, String, Object>> collector = new ListCollector<>(actual); while (iterator.callWithNextKey(new SimpleTupleJoinFunction(), collector)) ; iterator.close(); return actual; }
Example #19
Source File: ReusingMergeOuterJoinIterator.java From flink with Apache License 2.0 | 6 votes |
public ReusingMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); this.copy1 = serializer1.createInstance(); this.spillHeadCopy = serializer1.createInstance(); this.copy2 = serializer2.createInstance(); this.blockHeadCopy = serializer2.createInstance(); }
Example #20
Source File: ReusingMergeOuterJoinIterator.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
public ReusingMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); this.copy1 = serializer1.createInstance(); this.spillHeadCopy = serializer1.createInstance(); this.copy2 = serializer2.createInstance(); this.blockHeadCopy = serializer2.createInstance(); }
Example #21
Source File: AbstractMergeOuterJoinIterator.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
public AbstractMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); this.outerJoinType = outerJoinType; }
Example #22
Source File: ReusingSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 5 votes |
@Override @SuppressWarnings({"unchecked", "rawtypes"}) protected <T1, T2, T3> AbstractMergeOuterJoinIterator createOuterJoinIterator(OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws Exception { return new ReusingMergeOuterJoinIterator(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); }
Example #23
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") protected void testFullOuterWithSample() throws Exception { CollectionIterator<Tuple2<String, String>> input1 = CollectionIterator.of( new Tuple2<>("Jack", "Engineering"), new Tuple2<>("Tim", "Sales"), new Tuple2<>("Zed", "HR") ); CollectionIterator<Tuple2<String, Integer>> input2 = CollectionIterator.of( new Tuple2<>("Allison", 100), new Tuple2<>("Jack", 200), new Tuple2<>("Zed", 150), new Tuple2<>("Zed", 250) ); OuterJoinType outerJoinType = OuterJoinType.FULL; List<Tuple4<String, String, String, Object>> actual = computeOuterJoin(input1, input2, outerJoinType); List<Tuple4<String, String, String, Object>> expected = Arrays.asList( new Tuple4<String, String, String, Object>(null, null, "Allison", 100), new Tuple4<String, String, String, Object>("Jack", "Engineering", "Jack", 200), new Tuple4<String, String, String, Object>("Tim", "Sales", null, null), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 150), new Tuple4<String, String, String, Object>("Zed", "HR", "Zed", 250) ); Assert.assertEquals(expected, actual); }
Example #24
Source File: ReusingSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 5 votes |
@Override @SuppressWarnings({"unchecked", "rawtypes"}) protected <T1, T2, T3> AbstractMergeOuterJoinIterator createOuterJoinIterator(OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws Exception { return new ReusingMergeOuterJoinIterator(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); }
Example #25
Source File: OuterJoinNode.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
private List<OperatorDescriptorDual> getDataProperties() { OuterJoinOperatorBase<?, ?, ?, ?> operator = getOperator(); OuterJoinType type = operator.getOuterJoinType(); JoinHint joinHint = operator.getJoinHint(); joinHint = joinHint == null ? JoinHint.OPTIMIZER_CHOOSES : joinHint; List<OperatorDescriptorDual> list; switch (type) { case LEFT: list = createLeftOuterJoinDescriptors(joinHint); break; case RIGHT: list = createRightOuterJoinDescriptors(joinHint); break; case FULL: list = createFullOuterJoinDescriptors(joinHint); break; default: throw new CompilerException("Unknown outer join type: " + type); } Partitioner<?> customPartitioner = operator.getCustomPartitioner(); if (customPartitioner != null) { for (OperatorDescriptorDual desc : list) { ((AbstractJoinDescriptor) desc).setCustomPartitioner(customPartitioner); } } return list; }
Example #26
Source File: NonReusingSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 5 votes |
@Override @SuppressWarnings({"unchecked", "rawtypes"}) protected <T1, T2, T3> AbstractMergeOuterJoinIterator createOuterJoinIterator(OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws Exception { return new NonReusingMergeOuterJoinIterator(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); }
Example #27
Source File: NonReusingMergeOuterJoinIterator.java From flink with Apache License 2.0 | 5 votes |
public NonReusingMergeOuterJoinIterator( OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws MemoryAllocationException { super(outerJoinType, input1, input2, serializer1, comparator1, serializer2, comparator2, pairComparator, memoryManager, ioManager, numMemoryPages, parentTask); }
Example #28
Source File: OuterJoinNode.java From flink with Apache License 2.0 | 5 votes |
private List<OperatorDescriptorDual> getDataProperties() { OuterJoinOperatorBase<?, ?, ?, ?> operator = getOperator(); OuterJoinType type = operator.getOuterJoinType(); JoinHint joinHint = operator.getJoinHint(); joinHint = joinHint == null ? JoinHint.OPTIMIZER_CHOOSES : joinHint; List<OperatorDescriptorDual> list; switch (type) { case LEFT: list = createLeftOuterJoinDescriptors(joinHint); break; case RIGHT: list = createRightOuterJoinDescriptors(joinHint); break; case FULL: list = createFullOuterJoinDescriptors(joinHint); break; default: throw new CompilerException("Unknown outer join type: " + type); } Partitioner<?> customPartitioner = operator.getCustomPartitioner(); if (customPartitioner != null) { for (OperatorDescriptorDual desc : list) { ((AbstractJoinDescriptor) desc).setCustomPartitioner(customPartitioner); } } return list; }
Example #29
Source File: AbstractSortMergeOuterJoinIteratorITCase.java From flink with Apache License 2.0 | 5 votes |
protected abstract <T1, T2, T3> AbstractMergeOuterJoinIterator<T1, T2, T3> createOuterJoinIterator(OuterJoinType outerJoinType, MutableObjectIterator<T1> input1, MutableObjectIterator<T2> input2, TypeSerializer<T1> serializer1, TypeComparator<T1> comparator1, TypeSerializer<T2> serializer2, TypeComparator<T2> comparator2, TypePairComparator<T1, T2> pairComparator, MemoryManager memoryManager, IOManager ioManager, int numMemoryPages, AbstractInvokable parentTask) throws Exception;
Example #30
Source File: OuterJoinNode.java From flink with Apache License 2.0 | 5 votes |
private List<OperatorDescriptorDual> getDataProperties() { OuterJoinOperatorBase<?, ?, ?, ?> operator = getOperator(); OuterJoinType type = operator.getOuterJoinType(); JoinHint joinHint = operator.getJoinHint(); joinHint = joinHint == null ? JoinHint.OPTIMIZER_CHOOSES : joinHint; List<OperatorDescriptorDual> list; switch (type) { case LEFT: list = createLeftOuterJoinDescriptors(joinHint); break; case RIGHT: list = createRightOuterJoinDescriptors(joinHint); break; case FULL: list = createFullOuterJoinDescriptors(joinHint); break; default: throw new CompilerException("Unknown outer join type: " + type); } Partitioner<?> customPartitioner = operator.getCustomPartitioner(); if (customPartitioner != null) { for (OperatorDescriptorDual desc : list) { ((AbstractJoinDescriptor) desc).setCustomPartitioner(customPartitioner); } } return list; }