private void joinLeftKeyValuesWithNull(Iterator<T1> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T1 next = values.next(); this.copy1 = createCopy(serializer1, next, copy1); joinFunction.join(copy1, null, collector); } }
} else if (it2Empty) { if (outerJoinType == OuterJoinType.LEFT || outerJoinType == OuterJoinType.FULL) { joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it1Empty = true; it2Empty = !iterator2.nextKey(); crossMatchingGroup(values1, values2, joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = !iterator2.nextKey();
} else if (it2Empty) { if (outerJoinType == OuterJoinType.LEFT || outerJoinType == OuterJoinType.FULL) { joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it1Empty = true; it2Empty = !iterator2.nextKey(); crossMatchingGroup(values1, values2, joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = !iterator2.nextKey();
} else if (it2Empty) { if (outerJoinType == OuterJoinType.LEFT || outerJoinType == OuterJoinType.FULL) { joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it1Empty = true; it2Empty = !iterator2.nextKey(); crossMatchingGroup(values1, values2, joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = !iterator2.nextKey();
private void joinRightKeyValuesWithNull(Iterator<T2> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T2 next = values.next(); this.copy2 = createCopy(serializer2, next, copy2); joinFunction.join(null, copy2, collector); } }
} else if (it2Empty) { if (outerJoinType == OuterJoinType.LEFT || outerJoinType == OuterJoinType.FULL) { joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it2Empty = !iterator2.nextKey(); return true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = true; joinLeftKeyValuesWithNull(iterator1.getValues(), joinFunction, collector); it1Empty = !iterator1.nextKey(); return true; joinRightKeyValuesWithNull(iterator2.getValues(), joinFunction, collector); it1Empty = true; it2Empty = !iterator2.nextKey(); crossMatchingGroup(values1, values2, joinFunction, collector); it1Empty = !iterator1.nextKey(); it2Empty = !iterator2.nextKey();
private void joinLeftKeyValuesWithNull(Iterator<T1> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T1 next = values.next(); this.copy1 = createCopy(serializer1, next, copy1); joinFunction.join(copy1, null, collector); } }
private void joinRightKeyValuesWithNull(Iterator<T2> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T2 next = values.next(); this.copy2 = createCopy(serializer2, next, copy2); joinFunction.join(null, copy2, collector); } }
private void joinRightKeyValuesWithNull(Iterator<T2> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T2 next = values.next(); this.copy2 = createCopy(serializer2, next, copy2); joinFunction.join(null, copy2, collector); } }
private void joinLeftKeyValuesWithNull(Iterator<T1> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T1 next = values.next(); this.copy1 = createCopy(serializer1, next, copy1); joinFunction.join(copy1, null, collector); } }
private void joinRightKeyValuesWithNull(Iterator<T2> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T2 next = values.next(); this.copy2 = createCopy(serializer2, next, copy2); joinFunction.join(null, copy2, collector); } }
private void joinLeftKeyValuesWithNull(Iterator<T1> values, FlatJoinFunction<T1, T2, O> joinFunction, Collector<O> collector) throws Exception { while (values.hasNext()) { T1 next = values.next(); this.copy1 = createCopy(serializer1, next, copy1); joinFunction.join(copy1, null, collector); } }