private void sortAndCombine() throws Exception { if (sorter.isEmpty()) { return; } final InMemorySorter<IN> sorter = this.sorter; this.sortAlgo.sort(sorter); final GroupCombineFunction<IN, OUT> combiner = this.combiner; final Collector<OUT> output = this.output; // iterate over key groups if (objectReuseEnabled) { final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } else { final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } }
private void sortAndCombine() throws Exception { if (sorter.isEmpty()) { return; } final InMemorySorter<IN> sorter = this.sorter; this.sortAlgo.sort(sorter); final GroupCombineFunction<IN, OUT> combiner = this.combiner; final Collector<OUT> output = this.output; // iterate over key groups if (objectReuseEnabled) { final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } else { final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } }
private void sortAndCombine() throws Exception { if (sorter.isEmpty()) { return; } final InMemorySorter<IN> sorter = this.sorter; this.sortAlgo.sort(sorter); final GroupCombineFunction<IN, OUT> combiner = this.combiner; final Collector<OUT> output = this.output; // iterate over key groups if (objectReuseEnabled) { final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } else { final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } }
private void sortAndCombine() throws Exception { if (sorter.isEmpty()) { return; } final InMemorySorter<IN> sorter = this.sorter; this.sortAlgo.sort(sorter); final GroupCombineFunction<IN, OUT> combiner = this.combiner; final Collector<OUT> output = this.output; // iterate over key groups if (objectReuseEnabled) { final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } else { final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator); while (this.running && keyIter.nextKey()) { combiner.combine(keyIter.getValues(), output); } } }
this.sortAlgo.sort(sorter); final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); this.sortAlgo.sort(sorter); final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator);
this.sortAlgo.sort(sorter); final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); this.sortAlgo.sort(sorter); final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator);
this.sortAlgo.sort(sorter); final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); this.sortAlgo.sort(sorter); final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator);
sorter.getIterator(), this.serializer, this.groupingComparator); sorter.getIterator(), this.groupingComparator);
this.sortAlgo.sort(sorter); final ReusingKeyGroupedIterator<IN> keyIter = new ReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.serializer, this.groupingComparator); this.sortAlgo.sort(sorter); final NonReusingKeyGroupedIterator<IN> keyIter = new NonReusingKeyGroupedIterator<IN>(sorter.getIterator(), this.groupingComparator);
sorter.getIterator(), this.serializer, this.groupingComparator); sorter.getIterator(), this.groupingComparator);
sorter.getIterator(), this.serializer, this.groupingComparator); sorter.getIterator(), this.groupingComparator);
sorter.getIterator(), this.serializer, this.groupingComparator); sorter.getIterator(), this.groupingComparator);
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.output; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.outputCollector; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.outputCollector; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.outputCollector; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.output; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.outputCollector; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.output; final MutableObjectIterator<T> input = sorter.getIterator();
final ReduceFunction<T> function = this.reducer; final Collector<T> output = this.output; final MutableObjectIterator<T> input = sorter.getIterator();