final TypeComparator<IN> comparator = getTypeComparator(inputType, keyColumns, keyOrderings, executionConfig); ListKeyGroupedIterator<IN> keyedIterator = new ListKeyGroupedIterator<IN>(inputData, inputSerializer, comparator); while (keyedIterator.nextKey()) { function.reduce(keyedIterator.getValues(), collector);
if (this.leftGroupedIterator.nextKey()) { this.pairComparator.setReference(leftGroupedIterator.getValues().getCurrent()); firstEmpty = false; secondEmpty = false; } else { if (rightGroupedIterator.nextKey()) { secondEmpty = false; this.currRightSubset = this.rightGroupedIterator.getValues(); this.matchStatus = MatchStatus.FIRST_EMPTY; return true; } else if (!firstEmpty && secondEmpty) { this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = Collections.singleton(null); this.matchStatus = MatchStatus.SECOND_EMPTY; final int comp = this.pairComparator.compareToReference(rightGroupedIterator.getValues().getCurrent()); this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = this.rightGroupedIterator.getValues(); this.matchStatus = MatchStatus.NONE_REMAINED; } else if (0 < comp) { this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = Collections.singleton(null); this.matchStatus = MatchStatus.SECOND_REMAINED;
public OuterJoinListIterator(List<IN1> leftInput, TypeSerializer<IN1> leftSerializer, final TypeComparator<IN1> leftComparator, List<IN2> rightInput, TypeSerializer<IN2> rightSerializer, final TypeComparator<IN2> rightComparator, OuterJoinType outerJoinType) { this.outerJoinType = outerJoinType; pairComparator = new GenericPairComparator<>(leftComparator, rightComparator); leftGroupedIterator = new ListKeyGroupedIterator<>(leftInput, leftSerializer, leftComparator); rightGroupedIterator = new ListKeyGroupedIterator<>(rightInput, rightSerializer, rightComparator); // ---------------------------------------------------------------- // Sort // ---------------------------------------------------------------- Collections.sort(leftInput, new Comparator<IN1>() { @Override public int compare(IN1 o1, IN1 o2) { return leftComparator.compare(o1, o2); } }); Collections.sort(rightInput, new Comparator<IN2>() { @Override public int compare(IN2 o1, IN2 o2) { return rightComparator.compare(o1, o2); } }); }
if (this.iterator1.nextKey()) { this.pairComparator.setReference(iterator1.getValues().getCurrent()); firstEmpty = false; if (iterator2.nextKey()) { secondEmpty = false; this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.FIRST_EMPTY; return true; this.firstReturn = this.iterator1.getValues(); this.secondReturn = Collections.emptySet(); this.matchStatus = MatchStatus.SECOND_EMPTY; final int comp = this.pairComparator.compareToReference(iterator2.getValues().getCurrent()); this.firstReturn = this.iterator1.getValues(); this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.NONE_REMAINED; this.firstReturn = this.iterator1.getValues(); this.secondReturn = Collections.emptySet(); this.matchStatus = MatchStatus.SECOND_REMAINED; this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.FIRST_REMAINED;
private CoGroupSortListIterator( List<IN1> input1, final TypeComparator<IN1> inputSortComparator1, TypeComparator<IN1> inputComparator1, TypeSerializer<IN1> serializer1, List<IN2> input2, final TypeComparator<IN2> inputSortComparator2, TypeComparator<IN2> inputComparator2, TypeSerializer<IN2> serializer2) { this.pairComparator = new GenericPairComparator<IN1, IN2>(inputComparator1, inputComparator2); this.iterator1 = new ListKeyGroupedIterator<IN1>(input1, serializer1, inputComparator1); this.iterator2 = new ListKeyGroupedIterator<IN2>(input2, serializer2, inputComparator2); // ---------------------------------------------------------------- // Sort // ---------------------------------------------------------------- Collections.sort(input1, new Comparator<IN1>() { @Override public int compare(IN1 o1, IN1 o2) { return inputSortComparator1.compare(o1, o2); } }); Collections.sort(input2, new Comparator<IN2>() { @Override public int compare(IN2 o1, IN2 o2) { return inputSortComparator2.compare(o1, o2); } }); }
final TypeComparator<IN> comparator = getTypeComparator(inputType, keyColumns, keyOrderings, executionConfig); ListKeyGroupedIterator<IN> keyedIterator = new ListKeyGroupedIterator<IN>(inputData, inputSerializer, comparator); while (keyedIterator.nextKey()) { function.combine(keyedIterator.getValues(), collector);
if (this.iterator1.nextKey()) { this.pairComparator.setReference(iterator1.getValues().getCurrent()); firstEmpty = false; if (iterator2.nextKey()) { secondEmpty = false; this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.FIRST_EMPTY; return true; this.firstReturn = this.iterator1.getValues(); this.secondReturn = Collections.emptySet(); this.matchStatus = MatchStatus.SECOND_EMPTY; final int comp = this.pairComparator.compareToReference(iterator2.getValues().getCurrent()); this.firstReturn = this.iterator1.getValues(); this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.NONE_REMAINED; this.firstReturn = this.iterator1.getValues(); this.secondReturn = Collections.emptySet(); this.matchStatus = MatchStatus.SECOND_REMAINED; this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.FIRST_REMAINED;
private CoGroupSortListIterator( List<IN1> input1, final TypeComparator<IN1> inputSortComparator1, TypeComparator<IN1> inputComparator1, TypeSerializer<IN1> serializer1, List<IN2> input2, final TypeComparator<IN2> inputSortComparator2, TypeComparator<IN2> inputComparator2, TypeSerializer<IN2> serializer2) { this.pairComparator = new GenericPairComparator<IN1, IN2>(inputComparator1, inputComparator2); this.iterator1 = new ListKeyGroupedIterator<IN1>(input1, serializer1, inputComparator1); this.iterator2 = new ListKeyGroupedIterator<IN2>(input2, serializer2, inputComparator2); // ---------------------------------------------------------------- // Sort // ---------------------------------------------------------------- Collections.sort(input1, new Comparator<IN1>() { @Override public int compare(IN1 o1, IN1 o2) { return inputSortComparator1.compare(o1, o2); } }); Collections.sort(input2, new Comparator<IN2>() { @Override public int compare(IN2 o1, IN2 o2) { return inputSortComparator2.compare(o1, o2); } }); }
final TypeComparator<IN> comparator = getTypeComparator(inputType, keyColumns, keyOrderings, executionConfig); ListKeyGroupedIterator<IN> keyedIterator = new ListKeyGroupedIterator<IN>(inputData, inputSerializer, comparator); while (keyedIterator.nextKey()) { function.reduce(keyedIterator.getValues(), collector);
if (this.leftGroupedIterator.nextKey()) { this.pairComparator.setReference(leftGroupedIterator.getValues().getCurrent()); firstEmpty = false; secondEmpty = false; } else { if (rightGroupedIterator.nextKey()) { secondEmpty = false; this.currRightSubset = this.rightGroupedIterator.getValues(); this.matchStatus = MatchStatus.FIRST_EMPTY; return true; } else if (!firstEmpty && secondEmpty) { this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = Collections.singleton(null); this.matchStatus = MatchStatus.SECOND_EMPTY; final int comp = this.pairComparator.compareToReference(rightGroupedIterator.getValues().getCurrent()); this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = this.rightGroupedIterator.getValues(); this.matchStatus = MatchStatus.NONE_REMAINED; } else if (0 < comp) { this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = Collections.singleton(null); this.matchStatus = MatchStatus.SECOND_REMAINED;
public OuterJoinListIterator(List<IN1> leftInput, TypeSerializer<IN1> leftSerializer, final TypeComparator<IN1> leftComparator, List<IN2> rightInput, TypeSerializer<IN2> rightSerializer, final TypeComparator<IN2> rightComparator, OuterJoinType outerJoinType) { this.outerJoinType = outerJoinType; pairComparator = new GenericPairComparator<>(leftComparator, rightComparator); leftGroupedIterator = new ListKeyGroupedIterator<>(leftInput, leftSerializer, leftComparator); rightGroupedIterator = new ListKeyGroupedIterator<>(rightInput, rightSerializer, rightComparator); // ---------------------------------------------------------------- // Sort // ---------------------------------------------------------------- Collections.sort(leftInput, new Comparator<IN1>() { @Override public int compare(IN1 o1, IN1 o2) { return leftComparator.compare(o1, o2); } }); Collections.sort(rightInput, new Comparator<IN2>() { @Override public int compare(IN2 o1, IN2 o2) { return rightComparator.compare(o1, o2); } }); }
final TypeComparator<IN> comparator = getTypeComparator(inputType, keyColumns, keyOrderings, executionConfig); ListKeyGroupedIterator<IN> keyedIterator = new ListKeyGroupedIterator<IN>(inputData, inputSerializer, comparator); while (keyedIterator.nextKey()) { function.reduce(keyedIterator.getValues(), collector);
if (this.iterator1.nextKey()) { this.pairComparator.setReference(iterator1.getValues().getCurrent()); firstEmpty = false; if (iterator2.nextKey()) { secondEmpty = false; this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.FIRST_EMPTY; return true; this.firstReturn = this.iterator1.getValues(); this.secondReturn = Collections.emptySet(); this.matchStatus = MatchStatus.SECOND_EMPTY; final int comp = this.pairComparator.compareToReference(iterator2.getValues().getCurrent()); this.firstReturn = this.iterator1.getValues(); this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.NONE_REMAINED; this.firstReturn = this.iterator1.getValues(); this.secondReturn = Collections.emptySet(); this.matchStatus = MatchStatus.SECOND_REMAINED; this.secondReturn = this.iterator2.getValues(); this.matchStatus = MatchStatus.FIRST_REMAINED;
public OuterJoinListIterator(List<IN1> leftInput, TypeSerializer<IN1> leftSerializer, final TypeComparator<IN1> leftComparator, List<IN2> rightInput, TypeSerializer<IN2> rightSerializer, final TypeComparator<IN2> rightComparator, OuterJoinType outerJoinType) { this.outerJoinType = outerJoinType; pairComparator = new GenericPairComparator<>(leftComparator, rightComparator); leftGroupedIterator = new ListKeyGroupedIterator<>(leftInput, leftSerializer, leftComparator); rightGroupedIterator = new ListKeyGroupedIterator<>(rightInput, rightSerializer, rightComparator); // ---------------------------------------------------------------- // Sort // ---------------------------------------------------------------- Collections.sort(leftInput, new Comparator<IN1>() { @Override public int compare(IN1 o1, IN1 o2) { return leftComparator.compare(o1, o2); } }); Collections.sort(rightInput, new Comparator<IN2>() { @Override public int compare(IN2 o1, IN2 o2) { return rightComparator.compare(o1, o2); } }); }
final TypeComparator<IN> comparator = getTypeComparator(inputType, keyColumns, keyOrderings, executionConfig); ListKeyGroupedIterator<IN> keyedIterator = new ListKeyGroupedIterator<IN>(inputData, inputSerializer, comparator); while (keyedIterator.nextKey()) { function.combine(keyedIterator.getValues(), collector);
if (this.leftGroupedIterator.nextKey()) { this.pairComparator.setReference(leftGroupedIterator.getValues().getCurrent()); firstEmpty = false; secondEmpty = false; } else { if (rightGroupedIterator.nextKey()) { secondEmpty = false; this.currRightSubset = this.rightGroupedIterator.getValues(); this.matchStatus = MatchStatus.FIRST_EMPTY; return true; } else if (!firstEmpty && secondEmpty) { this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = Collections.singleton(null); this.matchStatus = MatchStatus.SECOND_EMPTY; final int comp = this.pairComparator.compareToReference(rightGroupedIterator.getValues().getCurrent()); this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = this.rightGroupedIterator.getValues(); this.matchStatus = MatchStatus.NONE_REMAINED; } else if (0 < comp) { this.currLeftSubset = this.leftGroupedIterator.getValues(); this.currRightSubset = Collections.singleton(null); this.matchStatus = MatchStatus.SECOND_REMAINED;
private CoGroupSortListIterator( List<IN1> input1, final TypeComparator<IN1> inputSortComparator1, TypeComparator<IN1> inputComparator1, TypeSerializer<IN1> serializer1, List<IN2> input2, final TypeComparator<IN2> inputSortComparator2, TypeComparator<IN2> inputComparator2, TypeSerializer<IN2> serializer2) { this.pairComparator = new GenericPairComparator<IN1, IN2>(inputComparator1, inputComparator2); this.iterator1 = new ListKeyGroupedIterator<IN1>(input1, serializer1, inputComparator1); this.iterator2 = new ListKeyGroupedIterator<IN2>(input2, serializer2, inputComparator2); // ---------------------------------------------------------------- // Sort // ---------------------------------------------------------------- Collections.sort(input1, new Comparator<IN1>() { @Override public int compare(IN1 o1, IN1 o2) { return inputSortComparator1.compare(o1, o2); } }); Collections.sort(input2, new Comparator<IN2>() { @Override public int compare(IN2 o1, IN2 o2) { return inputSortComparator2.compare(o1, o2); } }); }
final TypeComparator<IN> comparator = getTypeComparator(inputType, keyColumns, keyOrderings, executionConfig); ListKeyGroupedIterator<IN> keyedIterator = new ListKeyGroupedIterator<IN>(inputData, inputSerializer, comparator); while (keyedIterator.nextKey()) { function.combine(keyedIterator.getValues(), collector);