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


Java HFileLink.build方法代码示例

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


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

示例1: addStoreFile

import org.apache.hadoop.hbase.io.HFileLink; //导入方法依赖的package包/类
/**
 * Add the specified store file to the stats
 * @param region region encoded Name
 * @param family family name
 * @param storeFile store file name
 * @return the store file information
 */
FileInfo addStoreFile(final HRegionInfo region, final String family,
    final SnapshotRegionManifest.StoreFile storeFile) throws IOException {
  HFileLink link = HFileLink.build(conf, snapshotTable, region.getEncodedName(),
          family, storeFile.getName());
  boolean isCorrupted = false;
  boolean inArchive = false;
  long size = -1;
  try {
    if ((inArchive = fs.exists(link.getArchivePath()))) {
      size = fs.getFileStatus(link.getArchivePath()).getLen();
      hfileArchiveSize.addAndGet(size);
      hfileArchiveCount.incrementAndGet();
    } else {
      size = link.getFileStatus(fs).getLen();
      hfileSize.addAndGet(size);
      hfilesCount.incrementAndGet();
    }
    isCorrupted = (storeFile.hasFileSize() && storeFile.getFileSize() != size);
    if (isCorrupted) hfilesCorrupted.incrementAndGet();
  } catch (FileNotFoundException e) {
    hfilesMissing.incrementAndGet();
  }
  return new FileInfo(inArchive, size, isCorrupted);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:32,代码来源:SnapshotInfo.java

示例2: getStoreFileInfo

import org.apache.hadoop.hbase.io.HFileLink; //导入方法依赖的package包/类
/**
 * Returns a StoreFileInfo from the given FileStatus. Secondary replicas refer to the
 * files of the primary region, so an HFileLink is used to construct the StoreFileInfo. This
 * way ensures that the secondary will be able to continue reading the store files even if
 * they are moved to archive after compaction
 * @throws IOException
 */
public static StoreFileInfo getStoreFileInfo(Configuration conf, FileSystem fs,
    HRegionInfo regionInfo, HRegionInfo regionInfoForFs, String familyName, Path path)
    throws IOException {

  // if this is a primary region, just return the StoreFileInfo constructed from path
  if (regionInfo.equals(regionInfoForFs)) {
    return new StoreFileInfo(conf, fs, path);
  }

  // else create a store file link. The link file does not exists on filesystem though.
  HFileLink link = HFileLink.build(conf, regionInfoForFs.getTable(),
          regionInfoForFs.getEncodedName(), familyName, path.getName());

  if (StoreFileInfo.isReference(path)) {
    Reference reference = Reference.read(fs, path);
    return new StoreFileInfo(conf, fs, link.getFileStatus(fs), reference);
  }

  return new StoreFileInfo(conf, fs, link.getFileStatus(fs), link);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:28,代码来源:ServerRegionReplicaUtil.java

示例3: getStoreFileInfo

import org.apache.hadoop.hbase.io.HFileLink; //导入方法依赖的package包/类
/**
 * Returns a StoreFileInfo from the given FileStatus. Secondary replicas refer to the
 * files of the primary region, so an HFileLink is used to construct the StoreFileInfo. This
 * way ensures that the secondary will be able to continue reading the store files even if
 * they are moved to archive after compaction
 * @throws IOException
 */
public static StoreFileInfo getStoreFileInfo(Configuration conf, FileSystem fs,
    RegionInfo regionInfo, RegionInfo regionInfoForFs, String familyName, Path path)
    throws IOException {

  // if this is a primary region, just return the StoreFileInfo constructed from path
  if (RegionInfo.COMPARATOR.compare(regionInfo, regionInfoForFs) == 0) {
    return new StoreFileInfo(conf, fs, path);
  }

  // else create a store file link. The link file does not exists on filesystem though.
  HFileLink link = HFileLink.build(conf, regionInfoForFs.getTable(),
          regionInfoForFs.getEncodedName(), familyName, path.getName());

  if (StoreFileInfo.isReference(path)) {
    Reference reference = Reference.read(fs, path);
    return new StoreFileInfo(conf, fs, link.getFileStatus(fs), reference);
  }

  return new StoreFileInfo(conf, fs, link.getFileStatus(fs), link);
}
 
开发者ID:apache,项目名称:hbase,代码行数:28,代码来源:ServerRegionReplicaUtil.java

示例4: addStoreFile

import org.apache.hadoop.hbase.io.HFileLink; //导入方法依赖的package包/类
/**
 * Add the specified store file to the stats
 * @param region region encoded Name
 * @param family family name
 * @param storeFile store file name
 * @param filesMap store files map for all snapshots, it may be null
 * @return the store file information
 */
FileInfo addStoreFile(final RegionInfo region, final String family,
    final SnapshotRegionManifest.StoreFile storeFile,
    final Map<Path, Integer> filesMap) throws IOException {
  HFileLink link = HFileLink.build(conf, snapshotTable, region.getEncodedName(),
          family, storeFile.getName());
  boolean isCorrupted = false;
  boolean inArchive = false;
  long size = -1;
  try {
    if (fs.exists(link.getArchivePath())) {
      inArchive = true;
      size = fs.getFileStatus(link.getArchivePath()).getLen();
      hfilesArchiveSize.addAndGet(size);
      hfilesArchiveCount.incrementAndGet();

      // If store file is not shared with other snapshots and tables,
      // increase nonSharedHfilesArchiveSize
      if ((filesMap != null) &&
          !isArchivedFileStillReferenced(link.getArchivePath(), filesMap)) {
        nonSharedHfilesArchiveSize.addAndGet(size);
      }
    } else if (fs.exists(link.getMobPath())) {
      inArchive = true;
      size = fs.getFileStatus(link.getMobPath()).getLen();
      hfilesMobSize.addAndGet(size);
      hfilesMobCount.incrementAndGet();
    } else {
      size = link.getFileStatus(fs).getLen();
      hfilesSize.addAndGet(size);
      hfilesCount.incrementAndGet();
    }
    isCorrupted = (storeFile.hasFileSize() && storeFile.getFileSize() != size);
    if (isCorrupted) hfilesCorrupted.incrementAndGet();
  } catch (FileNotFoundException e) {
    hfilesMissing.incrementAndGet();
  }
  return new FileInfo(inArchive, size, isCorrupted);
}
 
开发者ID:apache,项目名称:hbase,代码行数:47,代码来源:SnapshotInfo.java


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