@Override public T next() { if (currentIsAvailable || hasNext()) { currentIsAvailable = false; return current; } else { throw new NoSuchElementException(); } }
@Override public T next() { if (currentIsAvailable || hasNext()) { currentIsAvailable = false; return current; } else { throw new NoSuchElementException(); } }
@Override public T next() { if (currentIsAvailable || hasNext()) { currentIsAvailable = false; return current; } else { throw new NoSuchElementException(); } }
@Override public T next() { if (currentIsAvailable || hasNext()) { currentIsAvailable = false; return current; } else { throw new NoSuchElementException(); } }
if (inIter.hasNext()) { if (strategy == DriverStrategy.ALL_GROUP_REDUCE) { final GroupReduceFunction<IT, OT> reducer = this.taskContext.getStub();
if (inIter.hasNext()) { if (strategy == DriverStrategy.ALL_GROUP_REDUCE) { final GroupReduceFunction<IT, OT> reducer = this.taskContext.getStub();
if (inIter.hasNext()) { if (strategy == DriverStrategy.ALL_GROUP_REDUCE) { final GroupReduceFunction<IT, OT> reducer = this.taskContext.getStub();
if (inIter.hasNext()) { if (strategy == DriverStrategy.ALL_GROUP_REDUCE) { final GroupReduceFunction<IT, OT> reducer = this.taskContext.getStub();
@Override public void run() throws Exception { if (LOG.isDebugEnabled()) { LOG.debug("AllGroupCombine starting."); } final Counter numRecordsIn = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsInCounter(); final Counter numRecordsOut = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsOutCounter(); final TypeSerializerFactory<IN> serializerFactory = this.taskContext.getInputSerializer(0); TypeSerializer<IN> serializer = serializerFactory.getSerializer(); final MutableObjectIterator<IN> in = new CountingMutableObjectIterator<>(this.taskContext.<IN>getInput(0), numRecordsIn); final GroupCombineFunction<IN, OUT> reducer = this.taskContext.getStub(); final Collector<OUT> output = new CountingCollector<>(this.taskContext.getOutputCollector(), numRecordsOut); if (objectReuseEnabled) { final ReusingMutableToRegularIteratorWrapper<IN> inIter = new ReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } else { final NonReusingMutableToRegularIteratorWrapper<IN> inIter = new NonReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } }
@Override public void run() throws Exception { if (LOG.isDebugEnabled()) { LOG.debug("AllGroupCombine starting."); } final Counter numRecordsIn = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsInCounter(); final Counter numRecordsOut = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsOutCounter(); final TypeSerializerFactory<IN> serializerFactory = this.taskContext.getInputSerializer(0); TypeSerializer<IN> serializer = serializerFactory.getSerializer(); final MutableObjectIterator<IN> in = new CountingMutableObjectIterator<>(this.taskContext.<IN>getInput(0), numRecordsIn); final GroupCombineFunction<IN, OUT> reducer = this.taskContext.getStub(); final Collector<OUT> output = new CountingCollector<>(this.taskContext.getOutputCollector(), numRecordsOut); if (objectReuseEnabled) { final ReusingMutableToRegularIteratorWrapper<IN> inIter = new ReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } else { final NonReusingMutableToRegularIteratorWrapper<IN> inIter = new NonReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } }
@Override public void run() throws Exception { if (LOG.isDebugEnabled()) { LOG.debug("AllGroupCombine starting."); } final Counter numRecordsIn = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsInCounter(); final Counter numRecordsOut = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsOutCounter(); final TypeSerializerFactory<IN> serializerFactory = this.taskContext.getInputSerializer(0); TypeSerializer<IN> serializer = serializerFactory.getSerializer(); final MutableObjectIterator<IN> in = new CountingMutableObjectIterator<>(this.taskContext.<IN>getInput(0), numRecordsIn); final GroupCombineFunction<IN, OUT> reducer = this.taskContext.getStub(); final Collector<OUT> output = new CountingCollector<>(this.taskContext.getOutputCollector(), numRecordsOut); if (objectReuseEnabled) { final ReusingMutableToRegularIteratorWrapper<IN> inIter = new ReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } else { final NonReusingMutableToRegularIteratorWrapper<IN> inIter = new NonReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } }
@Override public void run() throws Exception { if (LOG.isDebugEnabled()) { LOG.debug("AllGroupCombine starting."); } final Counter numRecordsIn = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsInCounter(); final Counter numRecordsOut = this.taskContext.getMetricGroup().getIOMetricGroup().getNumRecordsOutCounter(); final TypeSerializerFactory<IN> serializerFactory = this.taskContext.getInputSerializer(0); TypeSerializer<IN> serializer = serializerFactory.getSerializer(); final MutableObjectIterator<IN> in = new CountingMutableObjectIterator<>(this.taskContext.<IN>getInput(0), numRecordsIn); final GroupCombineFunction<IN, OUT> reducer = this.taskContext.getStub(); final Collector<OUT> output = new CountingCollector<>(this.taskContext.getOutputCollector(), numRecordsOut); if (objectReuseEnabled) { final ReusingMutableToRegularIteratorWrapper<IN> inIter = new ReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } else { final NonReusingMutableToRegularIteratorWrapper<IN> inIter = new NonReusingMutableToRegularIteratorWrapper<IN>(in, serializer); if (inIter.hasNext()) { reducer.combine(inIter, output); } } }