public GTStreamAggregateScanner(IGTScanner delegated, GTScanRequest scanRequest) { super(delegated); this.req = Preconditions.checkNotNull(scanRequest, "scanRequest"); this.keyComparator = GTRecord.getComparator(scanRequest.getAggrGroupBy()); }
@Override public Iterator<GTRecord> iterator() { Iterator<PartitionResultIterator> iterators = Iterators.transform(blocks, new Function<byte[], PartitionResultIterator>() { public PartitionResultIterator apply(byte[] input) { return new PartitionResultIterator(input, info, columns); } }); if (!needSorted) { logger.debug("Using Iterators.concat to pipeline partition results"); return Iterators.concat(iterators); } return new SortMergedPartitionResultIterator(iterators, info, GTRecord.getComparator(groupByDims)); } }
public GTStreamAggregateScanner(IGTScanner delegated, GTScanRequest scanRequest) { super(delegated); this.req = Preconditions.checkNotNull(scanRequest, "scanRequest"); this.keyComparator = GTRecord.getComparator(scanRequest.getAggrGroupBy()); }
@Override public Iterator<GTRecord> iterator() { Iterator<PartitionResultIterator> iterators = Iterators.transform(blocks, new Function<byte[], PartitionResultIterator>() { public PartitionResultIterator apply(byte[] input) { return new PartitionResultIterator(input, info, columns); } }); if (!needSorted) { logger.debug("Using Iterators.concat to pipeline partition results"); return Iterators.concat(iterators); } return new SortMergedPartitionResultIterator(iterators, info, GTRecord.getComparator(groupByDims)); } }