Java Code Examples for org.apache.hadoop.fs.Path#mergePaths()

The following examples show how to use org.apache.hadoop.fs.Path#mergePaths() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ParaflowMetaDataReader.java    From paraflow with Apache License 2.0 5 votes vote down vote up
private Path formPath(String dirOrFile)
{
    String base = this.config.getHDFSWarehouse();
    String path = dirOrFile;
    while (base.endsWith("/")) {
        base = base.substring(0, base.length() - 2);
    }
    if (!path.startsWith("/")) {
        path = "/" + path;
    }
    return Path.mergePaths(new Path(base), new Path(path));
}
 
Example 2
Source File: PersistedHDFSManager.java    From Knowage-Server with GNU Affero General Public License v3.0 5 votes vote down vote up
public FSDataOutputStream openHdfsFile(String fileName, String folderName) {
	logger.debug("Begin file opening");
	FSDataOutputStream fsOS = null;
	Path filePath = null;
	try {
		FileSystem fs = hdfs.getFs();
		filePath = fs.getWorkingDirectory();
		if (folderName != null && folderName.length() > 0) {
			filePath = Path.mergePaths(filePath, new Path(Path.SEPARATOR, folderName));
			if (!fs.exists(filePath) || !fs.isDirectory(filePath)) {
				fs.mkdirs(filePath);
			}
		}
		filePath = Path.mergePaths(filePath, new Path(Path.SEPARATOR + fileName));
		boolean existsFile = fs.exists(filePath);
		if (existsFile) {
			logger.debug("File is already present in folder, it will be deleted and replaced with new file");
			fs.delete(filePath, true);
		}
		fsOS = fs.create(filePath, true);
	} catch (IOException e) {
		logger.error("Impossible to open file in File System");
		throw new SpagoBIRuntimeException("Impossible to open file in File System" + e);
	}
	logger.debug("File opened");
	return fsOS;
}
 
Example 3
Source File: TestFileSystemView.java    From kite with Apache License 2.0 5 votes vote down vote up
public static void assertDirectoriesInTrash(FileSystem fs, TrashPolicy trashPolicy, Path... dirs)
        throws IOException {
  Path trashDir = trashPolicy.getCurrentTrashDir();

  for (Path path : dirs) {
    Path trashPath = Path.mergePaths(trashDir, fs.makeQualified(path));
    assertTrue("Directory should exist in trash: " + trashPath, fs.exists(trashPath));
  }
}
 
Example 4
Source File: TestOzoneShellHA.java    From hadoop-ozone with Apache License 2.0 4 votes vote down vote up
@Test
public void testDeleteToTrashOrSkipTrash() throws Exception {
  final String hostPrefix = OZONE_OFS_URI_SCHEME + "://" + omServiceId;
  OzoneConfiguration clientConf = getClientConfForOFS(hostPrefix, conf);
  OzoneFsShell shell = new OzoneFsShell(clientConf);
  FileSystem fs = FileSystem.get(clientConf);
  final String strDir1 = hostPrefix + "/volumed2t/bucket1/dir1";
  // Note: CURRENT is also privately defined in TrashPolicyDefault
  final Path trashCurrent = new Path("Current");

  final String strKey1 = strDir1 + "/key1";
  final Path pathKey1 = new Path(strKey1);
  final Path trashPathKey1 = Path.mergePaths(new Path(
      new OFSPath(strKey1).getTrashRoot(), trashCurrent), pathKey1);

  final String strKey2 = strDir1 + "/key2";
  final Path pathKey2 = new Path(strKey2);
  final Path trashPathKey2 = Path.mergePaths(new Path(
      new OFSPath(strKey2).getTrashRoot(), trashCurrent), pathKey2);

  int res;
  try {
    res = ToolRunner.run(shell, new String[]{"-mkdir", "-p", strDir1});
    Assert.assertEquals(0, res);

    // Check delete to trash behavior
    res = ToolRunner.run(shell, new String[]{"-touch", strKey1});
    Assert.assertEquals(0, res);
    // Verify key1 creation
    FileStatus statusPathKey1 = fs.getFileStatus(pathKey1);
    Assert.assertEquals(strKey1, statusPathKey1.getPath().toString());
    // rm without -skipTrash. since trash interval > 0, should moved to trash
    res = ToolRunner.run(shell, new String[]{"-rm", strKey1});
    Assert.assertEquals(0, res);
    // Verify that the file is moved to the correct trash location
    FileStatus statusTrashPathKey1 = fs.getFileStatus(trashPathKey1);
    // It'd be more meaningful if we actually write some content to the file
    Assert.assertEquals(
        statusPathKey1.getLen(), statusTrashPathKey1.getLen());
    Assert.assertEquals(
        fs.getFileChecksum(pathKey1), fs.getFileChecksum(trashPathKey1));

    // Check delete skip trash behavior
    res = ToolRunner.run(shell, new String[]{"-touch", strKey2});
    Assert.assertEquals(0, res);
    // Verify key2 creation
    FileStatus statusPathKey2 = fs.getFileStatus(pathKey2);
    Assert.assertEquals(strKey2, statusPathKey2.getPath().toString());
    // rm with -skipTrash
    res = ToolRunner.run(shell, new String[]{"-rm", "-skipTrash", strKey2});
    Assert.assertEquals(0, res);
    // Verify that the file is NOT moved to the trash location
    try {
      fs.getFileStatus(trashPathKey2);
      Assert.fail("getFileStatus on non-existent should throw.");
    } catch (FileNotFoundException ignored) {
    }
  } finally {
    shell.close();
  }
}
 
Example 5
Source File: TestHttpFSFileSystemLocalFileSystem.java    From hadoop with Apache License 2.0 4 votes vote down vote up
protected Path addPrefix(Path path) {
  return Path.mergePaths(new Path(PATH_PREFIX), path);
}
 
Example 6
Source File: TestHttpFSFileSystemLocalFileSystem.java    From big-c with Apache License 2.0 4 votes vote down vote up
protected Path addPrefix(Path path) {
  return Path.mergePaths(new Path(PATH_PREFIX), path);
}