public static void useSortableBytesAsMapOutputKey(Job job, Class<? extends Partitioner> partitionerClass) { job.setMapOutputKeyClass(BytesWritable.class); job.setGroupingComparatorClass(SortableBytesGroupingComparator.class); job.setSortComparatorClass(SortableBytesSortingComparator.class); job.setPartitionerClass(partitionerClass); }
@Override public void progress() { context.progress(); }
@Override public void incrementCustom(String metric, long delta) { counters.getGroup(HadoopContextScanMetrics.CUSTOM_COUNTER_GROUP).findCounter(metric).increment(delta); }
@Override public long getCustom(String metric) { return counters.getGroup(HadoopContextScanMetrics.CUSTOM_COUNTER_GROUP).findCounter(metric).getValue(); }
protected void setReducerClass(final Job job) { job.setReducerClass(IndexGeneratorReducer.class); }
@Override public void incrementContextCounter(TaskInputOutputContext context, String group, String name, long incr) { context.getCounter(group, name).increment(incr); }
@Override public long getContextCounter(TaskInputOutputContext context, String group, String name) { return context.getCounter(group, name).getValue(); }
@Override public void close() throws IOException { if (this.recordReader != null) { // enforce sequential close() calls synchronized (CLOSE_MUTEX) { this.recordReader.close(); } } }
@Override public float getProgress() throws IOException, InterruptedException { return reader.getProgress(); } }
@Override public String[] getHostnames() { try { return mapreduceInputSplit.getLocations(); } catch (Exception e) { return new String[0]; } }
@Override public void incrementCustom(String metric, long delta) { counters.getGroup(HadoopContextScanMetrics.CUSTOM_COUNTER_GROUP).findCounter(metric).increment(delta); }
@Override public long getCustom(String metric) { return counters.getGroup(HadoopContextScanMetrics.CUSTOM_COUNTER_GROUP).findCounter(metric).getValue(); }
@Override public void incrementContextCounter(TaskInputOutputContext context, String group, String name, long incr) { context.getCounter(group, name).increment(incr); }
@Override public long getContextCounter(TaskInputOutputContext context, String group, String name) { return context.getCounter(group, name).getValue(); }
@Override public void close() throws IOException { this.recordReader.close(); }
@Override public void increment(Metric metric) { counters.getGroup(HadoopContextScanMetrics.STANDARD_COUNTER_GROUP).findCounter(metric.name()).increment(1L); } }
@Override public long get(Metric metric) { return counters.getGroup(HadoopContextScanMetrics.STANDARD_COUNTER_GROUP).findCounter(metric.name()).getValue(); }
@Override public void increment(Metric metric) { counters.getGroup(HadoopContextScanMetrics.STANDARD_COUNTER_GROUP).findCounter(metric.name()).increment(1L); } }