private List<SummaryInfo> merge(int end) { List<SummaryInfo> mergedSummaries = new ArrayList<>(); for (int i = 0; i < end; i += 2) { int mergedCount = summaries.get(i).count + summaries.get(i + 1).count; summarizer.combiner(conf).merge(summaries.get(i).summary, summaries.get(i + 1).summary); mergedSummaries.add(new SummaryInfo(summaries.get(i + 1).getLastRow(), summaries.get(i).summary, mergedCount)); } return mergedSummaries; }
public void merge(MergedSummary other, SummarizerConfiguration config, SummarizerFactory factory) { if (summary == null && other.summary != null) { summary = new HashMap<>(other.summary); } else if (summary != null && other.summary != null) { Summarizer summarizer = factory.getSummarizer(config); summarizer.combiner(config).merge(summary, other.summary); } filesContaining += other.filesContaining; filesExceedingBoundry += other.filesExceedingBoundry; filesLarge += other.filesLarge; }
public Map<String,Long> getSummary(List<RowRange> ranges, SummarizerFactory sf) { Summarizer kvs = sf.getSummarizer(sconf); Map<String,Long> summary = new HashMap<>(); for (LgSummaries lgs : allSummaries) { lgs.getSummary(ranges, kvs.combiner(sconf), summary); } return summary; }