List of usage examples for org.apache.hadoop.fs LocalDirAllocator getLocalPathToRead
public Path getLocalPathToRead(String pathStr, Configuration conf) throws IOException
From source file:org.apache.tez.mapreduce.processor.map.TestMapProcessor.java
License:Apache License
private Path getMapOutputFile(Configuration jobConf, OutputContext outputContext) throws IOException { LocalDirAllocator lDirAlloc = new LocalDirAllocator(TezRuntimeFrameworkConfigs.LOCAL_DIRS); Path attemptOutput = new Path( new Path(Constants.TEZ_RUNTIME_TASK_OUTPUT_DIR, outputContext.getUniqueIdentifier()), Constants.TEZ_RUNTIME_TASK_OUTPUT_FILENAME_STRING); Path mapOutputFile = lDirAlloc.getLocalPathToRead(attemptOutput.toString(), jobConf); return mapOutputFile; }
From source file:org.apache.tez.mapreduce.processor.MapUtils.java
License:Apache License
public static void configureLocalDirs(Configuration conf, String localDir) throws IOException { String[] localSysDirs = new String[1]; localSysDirs[0] = localDir;//from w w w . jav a 2s . c o m conf.setStrings(TezRuntimeFrameworkConfigs.LOCAL_DIRS, localSysDirs); conf.set(MRFrameworkConfigs.TASK_LOCAL_RESOURCE_DIR, localDir); LOG.info(TezRuntimeFrameworkConfigs.LOCAL_DIRS + " for child: " + conf.get(TezRuntimeFrameworkConfigs.LOCAL_DIRS)); LOG.info(MRFrameworkConfigs.TASK_LOCAL_RESOURCE_DIR + " for child: " + conf.get(MRFrameworkConfigs.TASK_LOCAL_RESOURCE_DIR)); LocalDirAllocator lDirAlloc = new LocalDirAllocator(TezRuntimeFrameworkConfigs.LOCAL_DIRS); Path workDir = null; // First, try to find the JOB_LOCAL_DIR on this host. try { workDir = lDirAlloc.getLocalPathToRead("work", conf); } catch (DiskErrorException e) { // DiskErrorException means dir not found. If not found, it will // be created below. } if (workDir == null) { // JOB_LOCAL_DIR doesn't exist on this host -- Create it. workDir = lDirAlloc.getLocalPathForWrite("work", conf); FileSystem lfs = FileSystem.getLocal(conf).getRaw(); boolean madeDir = false; try { madeDir = lfs.mkdirs(workDir); } catch (FileAlreadyExistsException e) { // Since all tasks will be running in their own JVM, the race condition // exists where multiple tasks could be trying to create this directory // at the same time. If this task loses the race, it's okay because // the directory already exists. madeDir = true; workDir = lDirAlloc.getLocalPathToRead("work", conf); } if (!madeDir) { throw new IOException("Mkdirs failed to create " + workDir.toString()); } } conf.set(MRFrameworkConfigs.JOB_LOCAL_DIR, workDir.toString()); }
From source file:org.apache.tez.mapreduce.processor.MRTask.java
License:Apache License
private void configureLocalDirs() throws IOException { // TODO NEWTEZ Is most of this functionality required ? jobConf.setStrings(TezRuntimeFrameworkConfigs.LOCAL_DIRS, processorContext.getWorkDirs()); if (jobConf.get(MRFrameworkConfigs.TASK_LOCAL_RESOURCE_DIR) == null) { jobConf.set(MRFrameworkConfigs.TASK_LOCAL_RESOURCE_DIR, System.getenv(Environment.PWD.name())); }/* w w w. j a v a2 s . c o m*/ jobConf.setStrings(MRConfig.LOCAL_DIR, processorContext.getWorkDirs()); LocalDirAllocator lDirAlloc = new LocalDirAllocator(TezRuntimeFrameworkConfigs.LOCAL_DIRS); Path workDir = null; // First, try to find the JOB_LOCAL_DIR on this host. try { workDir = lDirAlloc.getLocalPathToRead("work", jobConf); } catch (DiskErrorException e) { // DiskErrorException means dir not found. If not found, it will // be created below. } if (workDir == null) { // JOB_LOCAL_DIR doesn't exist on this host -- Create it. workDir = lDirAlloc.getLocalPathForWrite("work", jobConf); FileSystem lfs = FileSystem.getLocal(jobConf).getRaw(); boolean madeDir = false; try { madeDir = lfs.mkdirs(workDir); } catch (FileAlreadyExistsException e) { // Since all tasks will be running in their own JVM, the race condition // exists where multiple tasks could be trying to create this directory // at the same time. If this task loses the race, it's okay because // the directory already exists. madeDir = true; workDir = lDirAlloc.getLocalPathToRead("work", jobConf); } if (!madeDir) { throw new IOException("Mkdirs failed to create " + workDir.toString()); } } // TODO NEWTEZ Is this required ? jobConf.set(MRFrameworkConfigs.JOB_LOCAL_DIR, workDir.toString()); jobConf.set(MRJobConfig.JOB_LOCAL_DIR, workDir.toString()); }
From source file:org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.java
License:Apache License
@VisibleForTesting protected Path getShuffleInputFileName(String pathComponent, String suffix) throws IOException { LocalDirAllocator localDirAllocator = new LocalDirAllocator(TezRuntimeFrameworkConfigs.LOCAL_DIRS); suffix = suffix != null ? suffix : ""; String pathFromLocalDir = Constants.TEZ_RUNTIME_TASK_OUTPUT_DIR + Path.SEPARATOR + pathComponent + Path.SEPARATOR + Constants.TEZ_RUNTIME_TASK_OUTPUT_FILENAME_STRING + suffix; return localDirAllocator.getLocalPathToRead(pathFromLocalDir.toString(), conf); }