@Override public List<ExtendedBlocklet> prune(DataMapDistributable distributable, List<PartitionSpec> partitionsToPrune) throws IOException { List<ExtendedBlocklet> leftPrune = left.prune(distributable, partitionsToPrune); List<ExtendedBlocklet> rightPrune = right.prune(distributable, partitionsToPrune); Set<ExtendedBlocklet> andBlocklets = new HashSet<>(); andBlocklets.addAll(leftPrune); andBlocklets.addAll(rightPrune); return new ArrayList<>(andBlocklets); }
@Override public List<ExtendedBlocklet> prune(List<Segment> segments, List<PartitionSpec> partitionsToPrune) throws IOException { List<ExtendedBlocklet> leftPrune = left.prune(segments, partitionsToPrune); List<ExtendedBlocklet> rightPrune = right.prune(segments, partitionsToPrune); List<ExtendedBlocklet> andBlocklets = new ArrayList<>(); for (ExtendedBlocklet blocklet : leftPrune) { if (rightPrune.contains(blocklet)) { andBlocklets.add(blocklet); } } return andBlocklets; }
@Override public List<ExtendedBlocklet> prune(DataMapDistributable distributable, List<PartitionSpec> partitionsToPrune) throws IOException { List<ExtendedBlocklet> leftPrune = left.prune(distributable, partitionsToPrune); List<ExtendedBlocklet> rightPrune = right.prune(distributable, partitionsToPrune); List<ExtendedBlocklet> andBlocklets = new ArrayList<>(); for (ExtendedBlocklet blocklet : leftPrune) { if (rightPrune.contains(blocklet)) { andBlocklets.add(blocklet); } } return andBlocklets; }
@Override public List<ExtendedBlocklet> prune(List<Segment> segments, List<PartitionSpec> partitionsToPrune) throws IOException { List<ExtendedBlocklet> leftPrune = left.prune(segments, partitionsToPrune); List<ExtendedBlocklet> rightPrune = right.prune(segments, partitionsToPrune); Set<ExtendedBlocklet> andBlocklets = new HashSet<>(); andBlocklets.addAll(leftPrune); andBlocklets.addAll(rightPrune); return new ArrayList<>(andBlocklets); }
for (int i = 0; i < distributables.size(); i++) { DataMapDistributable dataMapDistributable = distributables.get(i).getDistributable(); prunnedBlocklets.addAll(datamap.prune(dataMapDistributable, null));
resolver, segmentIds, cgDataMapExprWrapper, dataMapJob, partitionsToPrune); } else { cgPrunedBlocklets = cgDataMapExprWrapper.prune(segmentIds, partitionsToPrune);