当前位置: 首页>>代码示例>>Java>>正文


Java FileSystem.getXAttrs方法代码示例

本文整理汇总了Java中org.apache.hadoop.fs.FileSystem.getXAttrs方法的典型用法代码示例。如果您正苦于以下问题:Java FileSystem.getXAttrs方法的具体用法?Java FileSystem.getXAttrs怎么用?Java FileSystem.getXAttrs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.fs.FileSystem的用法示例。


在下文中一共展示了FileSystem.getXAttrs方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: assertXAttrs

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
/**
 * Asserts the XAttrs returned by getXAttrs for a specific path match an expected set of XAttrs.
 *
 * @param path String path to check
 * @param fs FileSystem to use for the path
 * @param expectedXAttrs XAttr[] expected xAttrs
 * @throws Exception if there is any error
 */
public static void assertXAttrs(Path path, FileSystem fs, Map<String, byte[]> expectedXAttrs) throws Exception {
  Map<String, byte[]> xAttrs = fs.getXAttrs(path);
  assertEquals(path.toString(), expectedXAttrs.size(), xAttrs.size());
  Iterator<Entry<String, byte[]>> i = expectedXAttrs.entrySet().iterator();
  while (i.hasNext()) {
    Entry<String, byte[]> e = i.next();
    String name = e.getKey();
    byte[] value = e.getValue();
    if (value == null) {
      assertTrue(xAttrs.containsKey(name) && xAttrs.get(name) == null);
    } else {
      assertArrayEquals(value, xAttrs.get(name));
    }
  }
}
 
开发者ID:HotelsDotCom,项目名称:circus-train,代码行数:24,代码来源:S3MapReduceCpTestUtils.java

示例2: testCustomProvider

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
@Test
public void testCustomProvider() throws Exception {
  FileSystem fs = FileSystem.get(miniDFS.getConfiguration(0));
  fs.mkdirs(new Path("/user/xxx"));
  FileStatus status = fs.getFileStatus(new Path("/user/xxx"));
  Assert.assertEquals(System.getProperty("user.name"), status.getOwner());
  Assert.assertEquals("supergroup", status.getGroup());
  Assert.assertEquals(new FsPermission((short) 0755), status.getPermission());
  fs.mkdirs(new Path("/user/authz"));
  Path p = new Path("/user/authz");
  status = fs.getFileStatus(p);
  Assert.assertEquals("foo", status.getOwner());
  Assert.assertEquals("bar", status.getGroup());
  Assert.assertEquals(new FsPermission((short) 0770), status.getPermission());
  AclStatus aclStatus = fs.getAclStatus(p);
  Assert.assertEquals(1, aclStatus.getEntries().size());
  Assert.assertEquals(AclEntryType.GROUP, aclStatus.getEntries().get(0)
          .getType());
  Assert.assertEquals("xxx", aclStatus.getEntries().get(0)
          .getName());
  Assert.assertEquals(FsAction.ALL, aclStatus.getEntries().get(0)
          .getPermission());
  Map<String, byte[]> xAttrs = fs.getXAttrs(p);
  Assert.assertTrue(xAttrs.containsKey("user.test"));
  Assert.assertEquals(2, xAttrs.get("user.test").length);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:TestINodeAttributeProvider.java

示例3: assertXAttrs

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
/**
  * Asserts the XAttrs returned by getXAttrs for a specific path match an
  * expected set of XAttrs.
  *
  * @param path String path to check
  * @param fs FileSystem to use for the path
  * @param expectedXAttrs XAttr[] expected xAttrs
  * @throws Exception if there is any error
  */
public static void assertXAttrs(Path path, FileSystem fs,
    Map<String, byte[]> expectedXAttrs)
    throws Exception {
  Map<String, byte[]> xAttrs = fs.getXAttrs(path);
  assertEquals(path.toString(), expectedXAttrs.size(), xAttrs.size());
  Iterator<Entry<String, byte[]>> i = expectedXAttrs.entrySet().iterator();
  while (i.hasNext()) {
    Entry<String, byte[]> e = i.next();
    String name = e.getKey();
    byte[] value = e.getValue();
    if (value == null) {
      assertTrue(xAttrs.containsKey(name) && xAttrs.get(name) == null);
    } else {
      assertArrayEquals(value, xAttrs.get(name));
    }
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:DistCpTestUtils.java

示例4: execute

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
/**
 * Executes the filesystem operation.
 *
 * @param fs filesystem instance to use.
 *
 * @return Map a map object (JSON friendly) with the xattrs.
 *
 * @throws IOException thrown if an IO error occured.
 */
@Override
public Map execute(FileSystem fs) throws IOException {
  Map<String, byte[]> xattrs = null;
  if (names != null && !names.isEmpty()) {
    xattrs = fs.getXAttrs(path, names);
  } else {
    xattrs = fs.getXAttrs(path);
  }
  return xAttrsToJSON(xattrs, encoding);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:FSOperations.java

示例5: verifySecurityXAttrExists

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
private void verifySecurityXAttrExists(FileSystem userFs) throws Exception {
  try {
    final Map<String, byte[]> xattrs = userFs.getXAttrs(filePath);
    Assert.assertEquals(1, xattrs.size());
    Assert.assertNotNull(xattrs.get(security1));
    Assert.assertArrayEquals("expected empty byte[] from getXAttr",
        new byte[0], userFs.getXAttr(filePath, security1));

  } catch (AccessControlException e) {
    fail("getXAttrs failed but expected it to succeed");
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:FSXAttrBaseTest.java

示例6: toCopyListingFileStatus

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
/**
 * Converts a FileStatus to a CopyListingFileStatus.  If preserving ACLs,
 * populates the CopyListingFileStatus with the ACLs. If preserving XAttrs,
 * populates the CopyListingFileStatus with the XAttrs.
 *
 * @param fileSystem FileSystem containing the file
 * @param fileStatus FileStatus of file
 * @param preserveAcls boolean true if preserving ACLs
 * @param preserveXAttrs boolean true if preserving XAttrs
 * @param preserveRawXAttrs boolean true if preserving raw.* XAttrs
 * @throws IOException if there is an I/O error
 */
public static CopyListingFileStatus toCopyListingFileStatus(
    FileSystem fileSystem, FileStatus fileStatus, boolean preserveAcls, 
    boolean preserveXAttrs, boolean preserveRawXAttrs) throws IOException {
  CopyListingFileStatus copyListingFileStatus =
    new CopyListingFileStatus(fileStatus);
  if (preserveAcls) {
    FsPermission perm = fileStatus.getPermission();
    if (perm.getAclBit()) {
      List<AclEntry> aclEntries = fileSystem.getAclStatus(
        fileStatus.getPath()).getEntries();
      copyListingFileStatus.setAclEntries(aclEntries);
    }
  }
  if (preserveXAttrs || preserveRawXAttrs) {
    Map<String, byte[]> srcXAttrs = fileSystem.getXAttrs(fileStatus.getPath());
    if (preserveXAttrs && preserveRawXAttrs) {
       copyListingFileStatus.setXAttrs(srcXAttrs);
    } else {
      Map<String, byte[]> trgXAttrs = Maps.newHashMap();
      final String rawNS =
          StringUtils.toLowerCase(XAttr.NameSpace.RAW.name());
      for (Map.Entry<String, byte[]> ent : srcXAttrs.entrySet()) {
        final String xattrName = ent.getKey();
        if (xattrName.startsWith(rawNS)) {
          if (preserveRawXAttrs) {
            trgXAttrs.put(xattrName, ent.getValue());
          }
        } else if (preserveXAttrs) {
          trgXAttrs.put(xattrName, ent.getValue());
        }
      }
      copyListingFileStatus.setXAttrs(trgXAttrs);
    }
  }
  return copyListingFileStatus;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:49,代码来源:DistCpUtils.java

示例7: checkFileSystemXAttrSupport

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
/**
 * Determines if a file system supports XAttrs by running a getXAttrs request
 * on the file system root. This method is used before distcp job submission
 * to fail fast if the user requested preserving XAttrs, but the file system
 * cannot support XAttrs.
 * 
 * @param fs FileSystem to check
 * @throws XAttrsNotSupportedException if fs does not support XAttrs
 */
public static void checkFileSystemXAttrSupport(FileSystem fs)
    throws XAttrsNotSupportedException {
  try {
    fs.getXAttrs(new Path(Path.SEPARATOR));
  } catch (Exception e) {
    throw new XAttrsNotSupportedException("XAttrs not supported for file system: "
      + fs.getUri());
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:19,代码来源:DistCpUtils.java

示例8: getXAttrs

import org.apache.hadoop.fs.FileSystem; //导入方法依赖的package包/类
/**
 * Returns a file's all xAttrs.
 * 
 * @param fileSystem FileSystem containing the file
 * @param path file path
 * @return Map containing all xAttrs
 * @throws IOException if there is an I/O error
 */
public static Map<String, byte[]> getXAttrs(FileSystem fileSystem,
    Path path) throws IOException {
  return fileSystem.getXAttrs(path);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:DistCpUtils.java


注:本文中的org.apache.hadoop.fs.FileSystem.getXAttrs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。