Search in sources :

Example 1 with ICombineHandler

use of org.apache.hadoop.mapred.nativetask.ICombineHandler in project hadoop by apache.

the class NativeCollectorOnlyHandler method create.

public static <K, V> NativeCollectorOnlyHandler<K, V> create(TaskContext context) throws IOException {
    ICombineHandler combinerHandler = null;
    try {
        final TaskContext combineContext = context.copyOf();
        combineContext.setInputKeyClass(context.getOutputKeyClass());
        combineContext.setInputValueClass(context.getOutputValueClass());
        combinerHandler = CombinerHandler.create(combineContext);
    } catch (final ClassNotFoundException e) {
        throw new IOException(e);
    }
    if (null != combinerHandler) {
        LOG.info("[NativeCollectorOnlyHandler] combiner is not null");
    }
    final INativeHandler nativeHandler = NativeBatchProcessor.create(NAME, context.getConf(), DataChannel.OUT);
    final BufferPusher<K, V> kvPusher = new BufferPusher<K, V>((Class<K>) context.getOutputKeyClass(), (Class<V>) context.getOutputValueClass(), nativeHandler);
    return new NativeCollectorOnlyHandler<K, V>(context, nativeHandler, kvPusher, combinerHandler);
}
Also used : TaskContext(org.apache.hadoop.mapred.nativetask.TaskContext) ICombineHandler(org.apache.hadoop.mapred.nativetask.ICombineHandler) INativeHandler(org.apache.hadoop.mapred.nativetask.INativeHandler) IOException(java.io.IOException)

Aggregations

IOException (java.io.IOException)1 ICombineHandler (org.apache.hadoop.mapred.nativetask.ICombineHandler)1 INativeHandler (org.apache.hadoop.mapred.nativetask.INativeHandler)1 TaskContext (org.apache.hadoop.mapred.nativetask.TaskContext)1