List of usage examples for org.apache.hadoop.mapred JobConf getPartitionerClass
public Class<? extends Partitioner> getPartitionerClass()
From source file:edu.uci.ics.hyracks.hadoop.compat.util.HadoopAdapter.java
License:Apache License
public static MToNPartitioningConnectorDescriptor getMtoNHashPartitioningConnector(JobConf conf, IConnectorDescriptorRegistry spec) { Class mapOutputKeyClass = conf.getMapOutputKeyClass(); Class mapOutputValueClass = conf.getMapOutputValueClass(); MToNPartitioningConnectorDescriptor connectorDescriptor = null; ITuplePartitionComputerFactory factory = null; conf.getMapOutputKeyClass();// w ww . j a v a2s . com if (conf.getPartitionerClass() != null && !conf.getPartitionerClass().getName().startsWith("org.apache.hadoop")) { Class<? extends Partitioner> partitioner = conf.getPartitionerClass(); factory = new HadoopPartitionerTuplePartitionComputerFactory(partitioner, DatatypeHelper.createSerializerDeserializer(mapOutputKeyClass), DatatypeHelper.createSerializerDeserializer(mapOutputValueClass)); } else { RecordDescriptor recordDescriptor = DatatypeHelper.createKeyValueRecordDescriptor(mapOutputKeyClass, mapOutputValueClass); ISerializerDeserializer mapOutputKeySerializerDerserializer = DatatypeHelper .createSerializerDeserializer(mapOutputKeyClass); factory = new HadoopHashTuplePartitionComputerFactory(mapOutputKeySerializerDerserializer); } connectorDescriptor = new MToNPartitioningConnectorDescriptor(spec, factory); return connectorDescriptor; }
From source file:it.crs4.pydoop.pipes.Submitter.java
License:Apache License
private static void setupPipesJob(JobConf conf) throws IOException { // default map output types to Text if (!getIsJavaMapper(conf)) { conf.setMapRunnerClass(PipesMapRunner.class); // Save the user's partitioner and hook in our's. setJavaPartitioner(conf, conf.getPartitionerClass()); conf.setPartitionerClass(PipesPartitioner.class); }//from ww w .j ava 2 s .c o m if (!getIsJavaReducer(conf)) { conf.setReducerClass(PipesReducer.class); if (!getIsJavaRecordWriter(conf)) { conf.setOutputFormat(NullOutputFormat.class); } } String textClassname = Text.class.getName(); setIfUnset(conf, MRJobConfig.MAP_OUTPUT_KEY_CLASS, textClassname); setIfUnset(conf, MRJobConfig.MAP_OUTPUT_VALUE_CLASS, textClassname); setIfUnset(conf, MRJobConfig.OUTPUT_KEY_CLASS, textClassname); setIfUnset(conf, MRJobConfig.OUTPUT_VALUE_CLASS, textClassname); // Use PipesNonJavaInputFormat if necessary to handle progress reporting // from C++ RecordReaders ... if (!getIsJavaRecordReader(conf) && !getIsJavaMapper(conf)) { conf.setClass(Submitter.INPUT_FORMAT, conf.getInputFormat().getClass(), InputFormat.class); conf.setInputFormat(PipesNonJavaInputFormat.class); } String exec = getExecutable(conf); if (exec == null) { throw new IllegalArgumentException("No application program defined."); } // add default debug script only when executable is expressed as // <path>#<executable> if (exec.contains("#")) { // set default gdb commands for map and reduce task String defScript = "$HADOOP_PREFIX/src/c++/pipes/debug/pipes-default-script"; setIfUnset(conf, MRJobConfig.MAP_DEBUG_SCRIPT, defScript); setIfUnset(conf, MRJobConfig.REDUCE_DEBUG_SCRIPT, defScript); } URI[] fileCache = DistributedCache.getCacheFiles(conf); if (fileCache == null) { fileCache = new URI[1]; } else { URI[] tmp = new URI[fileCache.length + 1]; System.arraycopy(fileCache, 0, tmp, 1, fileCache.length); fileCache = tmp; } try { fileCache[0] = new URI(exec); } catch (URISyntaxException e) { IOException ie = new IOException("Problem parsing execable URI " + exec); ie.initCause(e); throw ie; } DistributedCache.setCacheFiles(fileCache, conf); }