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


Java BlockCategory.META属性代码示例

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


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

示例1: shouldCacheBlockOnRead

/**
 * Should we cache a block of a particular category? We always cache
 * important blocks such as index blocks, as long as the block cache is
 * available.
 */
public boolean shouldCacheBlockOnRead(BlockCategory category) {
  return isBlockCacheEnabled()
      && (cacheDataOnRead ||
          category == BlockCategory.INDEX ||
          category == BlockCategory.BLOOM ||
          (prefetchOnOpen &&
              (category != BlockCategory.META &&
               category != BlockCategory.UNKNOWN)));
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:14,代码来源:CacheConfig.java

示例2: shouldCacheBlockOnRead

/**
 * Should we cache a block of a particular category? We always cache
 * important blocks such as index blocks, as long as the block cache is
 * available.
 */
public boolean shouldCacheBlockOnRead(BlockCategory category) {
  boolean shouldCache = isBlockCacheEnabled()
      && (cacheDataOnRead ||
          category == BlockCategory.INDEX ||
          category == BlockCategory.BLOOM ||
          (prefetchOnOpen &&
              (category != BlockCategory.META &&
               category != BlockCategory.UNKNOWN)));
  return shouldCache;
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:15,代码来源:CacheConfig.java

示例3: SchemaMetrics

private SchemaMetrics(final String tableName, final String cfName) {
  String metricPrefix = SchemaMetrics.generateSchemaMetricsPrefix(
      tableName, cfName);

  for (BlockCategory blockCategory : BlockCategory.values()) {
    for (boolean isCompaction : BOOL_VALUES) {
      // initialize the cache metrics
      onHitCacheMetrics.set(getCacheHitMetricIndex(blockCategory, isCompaction), 0);
      
      for (BlockMetricType metricType : BlockMetricType.values()) {
        if (!metricType.compactionAware && isCompaction) {
          continue;
        }

        StringBuilder sb = new StringBuilder(metricPrefix);
        if (blockCategory != BlockCategory.ALL_CATEGORIES
            && blockCategory != BlockCategory.META) {
          String categoryStr = blockCategory.toString();
          categoryStr = categoryStr.charAt(0)
              + categoryStr.substring(1).toLowerCase();
          sb.append(BLOCK_TYPE_PREFIX + categoryStr + ".");
        }

        if (metricType.compactionAware) {
          sb.append(isCompaction ? "compaction" : "fs");
        }

        // A special-case for meta blocks for backwards-compatibility.
        if (blockCategory == BlockCategory.META) {
          sb.append(META_BLOCK_CATEGORY_STR);
        }

        sb.append(metricType);

        int i = getBlockMetricIndex(blockCategory, isCompaction, metricType);
        blockMetricNames[i] = sb.toString();
        blockMetricTimeVarying[i] = metricType.timeVarying;
      }
    }
  }

  for (boolean isInBloom : BOOL_VALUES) {
    bloomMetricNames[isInBloom ? 1 : 0] = metricPrefix
        + (isInBloom ? "keyMaybeInBloomCnt" : "keyNotInBloomCnt");
  }

  for (StoreMetricType storeMetric : StoreMetricType.values()) {
    String coreName = metricPrefix + storeMetric.toString();
    storeMetricNames[storeMetric.ordinal()] = coreName;
    storeMetricNamesMax[storeMetric.ordinal()] = coreName + ".max";
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:52,代码来源:SchemaMetrics.java

示例4: getMetaBlock

/**
 * @param metaBlockName
 * @param cacheBlock Add block to cache, if found
 * @return Block wrapped in a ByteBuffer
 * @throws IOException
 */
@Override
public ByteBuffer getMetaBlock(String metaBlockName, boolean cacheBlock)
    throws IOException {
  if (trailer.getMetaIndexCount() == 0) {
    return null; // there are no meta blocks
  }
  if (metaBlockIndexReader == null) {
    throw new IOException("Meta index not loaded");
  }

  byte[] nameBytes = Bytes.toBytes(metaBlockName);
  int block = metaBlockIndexReader.rootBlockContainingKey(nameBytes, 0,
      nameBytes.length);
  if (block == -1)
    return null;
  long offset = metaBlockIndexReader.getRootBlockOffset(block);
  long nextOffset;
  if (block == metaBlockIndexReader.getRootBlockCount() - 1) {
    nextOffset = trailer.getFileInfoOffset();
  } else {
    nextOffset = metaBlockIndexReader.getRootBlockOffset(block + 1);
  }

  long startTimeNs = System.nanoTime();

  BlockCacheKey cacheKey = new BlockCacheKey(name, offset,
      DataBlockEncoding.NONE, BlockType.META);

  BlockCategory effectiveCategory = BlockCategory.META;
  if (metaBlockName.equals(HFileWriterV1.BLOOM_FILTER_META_KEY) ||
      metaBlockName.equals(HFileWriterV1.BLOOM_FILTER_DATA_KEY)) {
    effectiveCategory = BlockCategory.BLOOM;
  }

  // Per meta key from any given file, synchronize reads for said block
  synchronized (metaBlockIndexReader.getRootBlockKey(block)) {
    // Check cache for block.  If found return.
    if (cacheConf.isBlockCacheEnabled()) {
      HFileBlock cachedBlock =
        (HFileBlock) cacheConf.getBlockCache().getBlock(cacheKey,
            cacheConf.shouldCacheBlockOnRead(effectiveCategory), false);
      if (cachedBlock != null) {
        getSchemaMetrics().updateOnCacheHit(effectiveCategory,
            SchemaMetrics.NO_COMPACTION);
        return cachedBlock.getBufferWithoutHeader();
      }
      // Cache Miss, please load.
    }

    HFileBlock hfileBlock = fsBlockReader.readBlockData(offset,
        nextOffset - offset, metaBlockIndexReader.getRootBlockDataSize(block),
        true);
    passSchemaMetricsTo(hfileBlock);
    hfileBlock.expectType(BlockType.META);

    final long delta = System.nanoTime() - startTimeNs;
    HFile.offerReadLatency(delta, true);
    getSchemaMetrics().updateOnCacheMiss(effectiveCategory,
        SchemaMetrics.NO_COMPACTION, delta);

    // Cache the block
    if (cacheBlock && cacheConf.shouldCacheBlockOnRead(effectiveCategory)) {
      cacheConf.getBlockCache().cacheBlock(cacheKey, hfileBlock,
          cacheConf.isInMemory());
    }

    return hfileBlock.getBufferWithoutHeader();
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:75,代码来源:HFileReaderV1.java

示例5: getMetaBlock

/**
 * @param metaBlockName
 * @param cacheBlock Add block to cache, if found
 * @return Block wrapped in a ByteBuffer
 * @throws IOException
 */
@Override
public ByteBuffer getMetaBlock(String metaBlockName, boolean cacheBlock)
    throws IOException {
  if (trailer.getMetaIndexCount() == 0) {
    return null; // there are no meta blocks
  }
  if (metaBlockIndexReader == null) {
    throw new IOException("Meta index not loaded");
  }

  byte[] nameBytes = Bytes.toBytes(metaBlockName);
  int block = metaBlockIndexReader.rootBlockContainingKey(nameBytes, 0,
      nameBytes.length);
  if (block == -1)
    return null;
  long offset = metaBlockIndexReader.getRootBlockOffset(block);
  long nextOffset;
  if (block == metaBlockIndexReader.getRootBlockCount() - 1) {
    nextOffset = trailer.getFileInfoOffset();
  } else {
    nextOffset = metaBlockIndexReader.getRootBlockOffset(block + 1);
  }

  long startTimeNs = System.nanoTime();

  BlockCacheKey cacheKey = HFile.getBlockCacheKey(name, offset);

  BlockCategory effectiveCategory = BlockCategory.META;
  if (metaBlockName.equals(HFileWriterV1.BLOOM_FILTER_META_KEY) ||
      metaBlockName.equals(HFileWriterV1.BLOOM_FILTER_DATA_KEY)) {
    effectiveCategory = BlockCategory.BLOOM;
  }

  // Per meta key from any given file, synchronize reads for said block
  synchronized (metaBlockIndexReader.getRootBlockKey(block)) {
    metaLoads.incrementAndGet();
    // Check cache for block.  If found return.
    if (cacheConf.isBlockCacheEnabled()) {
      HFileBlock cachedBlock =
        (HFileBlock) cacheConf.getBlockCache().getBlock(cacheKey,
            cacheConf.shouldCacheBlockOnRead(effectiveCategory));
      if (cachedBlock != null) {
        cacheHits.incrementAndGet();
        return cachedBlock.getBufferWithoutHeader();
      }
      // Cache Miss, please load.
    }

    HFileBlock hfileBlock = fsBlockReader.readBlockData(offset,
        nextOffset - offset, metaBlockIndexReader.getRootBlockDataSize(block),
        true);
    hfileBlock.expectType(BlockType.META);

    HFile.readTimeNano.addAndGet(System.nanoTime() - startTimeNs);
    HFile.readOps.incrementAndGet();

    // Cache the block
    if (cacheBlock && cacheConf.shouldCacheBlockOnRead(effectiveCategory)) {
      cacheConf.getBlockCache().cacheBlock(cacheKey, hfileBlock,
          cacheConf.isInMemory());
    }

    return hfileBlock.getBufferWithoutHeader();
  }
}
 
开发者ID:lifeng5042,项目名称:RStore,代码行数:71,代码来源:HFileReaderV1.java

示例6: SchemaMetrics

private SchemaMetrics(final String tableName, final String cfName) {
  String metricPrefix = SchemaMetrics.generateSchemaMetricsPrefix(
      tableName, cfName);

  for (BlockCategory blockCategory : BlockCategory.values()) {
    for (boolean isCompaction : BOOL_VALUES) {
      // initialize the cache metrics
      onHitCacheMetrics.set(getCacheHitMetricIndex(blockCategory, isCompaction), 0);
      
      for (BlockMetricType metricType : BlockMetricType.values()) {
        if (!metricType.compactionAware && isCompaction) {
          continue;
        }

        StringBuilder sb = new StringBuilder(metricPrefix);
        if (blockCategory != BlockCategory.ALL_CATEGORIES
            && blockCategory != BlockCategory.META) {
          String categoryStr = blockCategory.toString();
          categoryStr = categoryStr.charAt(0)
              + categoryStr.substring(1).toLowerCase();
          sb.append(BLOCK_TYPE_PREFIX + categoryStr + ".");
        }

        if (metricType.compactionAware) {
          sb.append(isCompaction ? "compaction" : "fs");
        }

        // A special-case for meta blocks for backwards-compatibility.
        if (blockCategory == BlockCategory.META) {
          sb.append(META_BLOCK_CATEGORY_STR);
        }

        sb.append(metricType);

        int i = getBlockMetricIndex(blockCategory, isCompaction, metricType);
        blockMetricNames[i] = sb.toString().intern();
        blockMetricTimeVarying[i] = metricType.timeVarying;
      }
    }
  }

  for (boolean isInBloom : BOOL_VALUES) {
    bloomMetricNames[isInBloom ? 1 : 0] = metricPrefix
        + (isInBloom ? "keyMaybeInBloomCnt" : "keyNotInBloomCnt");
  }

  for (StoreMetricType storeMetric : StoreMetricType.values()) {
    String coreName = metricPrefix + storeMetric.toString();
    storeMetricNames[storeMetric.ordinal()] = coreName;
    storeMetricNamesMax[storeMetric.ordinal()] = coreName + ".max";
  }
}
 
开发者ID:zwqjsj0404,项目名称:HBase-Research,代码行数:52,代码来源:SchemaMetrics.java

示例7: getMetaBlock

/**
 * @param metaBlockName
 * @param cacheBlock Add block to cache, if found
 * @return Block wrapped in a ByteBuffer
 * @throws IOException
 */
@Override
public ByteBuffer getMetaBlock(String metaBlockName, boolean cacheBlock)
    throws IOException {
  if (trailer.getMetaIndexCount() == 0) {
    return null; // there are no meta blocks
  }
  if (metaBlockIndexReader == null) {
    throw new IOException("Meta index not loaded");
  }

  byte[] nameBytes = Bytes.toBytes(metaBlockName);
  int block = metaBlockIndexReader.rootBlockContainingKey(nameBytes, 0,
      nameBytes.length);
  if (block == -1)
    return null;
  long offset = metaBlockIndexReader.getRootBlockOffset(block);
  long nextOffset;
  if (block == metaBlockIndexReader.getRootBlockCount() - 1) {
    nextOffset = trailer.getFileInfoOffset();
  } else {
    nextOffset = metaBlockIndexReader.getRootBlockOffset(block + 1);
  }

  long startTimeNs = System.nanoTime();

  BlockCacheKey cacheKey = new BlockCacheKey(name, offset,
      DataBlockEncoding.NONE, BlockType.META);

  BlockCategory effectiveCategory = BlockCategory.META;
  if (metaBlockName.equals(HFileWriterV1.BLOOM_FILTER_META_KEY) ||
      metaBlockName.equals(HFileWriterV1.BLOOM_FILTER_DATA_KEY)) {
    effectiveCategory = BlockCategory.BLOOM;
  }

  // Per meta key from any given file, synchronize reads for said block
  synchronized (metaBlockIndexReader.getRootBlockKey(block)) {
    // Check cache for block.  If found return.
    if (cacheConf.isBlockCacheEnabled()) {
      HFileBlock cachedBlock =
        (HFileBlock) cacheConf.getBlockCache().getBlock(cacheKey,
            cacheConf.shouldCacheBlockOnRead(effectiveCategory), false);
      if (cachedBlock != null) {
        return cachedBlock.getBufferWithoutHeader();
      }
      // Cache Miss, please load.
    }

    HFileBlock hfileBlock = fsBlockReader.readBlockData(offset,
        nextOffset - offset, metaBlockIndexReader.getRootBlockDataSize(block),
        true);
    hfileBlock.expectType(BlockType.META);

    final long delta = System.nanoTime() - startTimeNs;
    HFile.offerReadLatency(delta, true);

    // Cache the block
    if (cacheBlock && cacheConf.shouldCacheBlockOnRead(effectiveCategory)) {
      cacheConf.getBlockCache().cacheBlock(cacheKey, hfileBlock,
          cacheConf.isInMemory());
    }

    return hfileBlock.getBufferWithoutHeader();
  }
}
 
开发者ID:daidong,项目名称:DominoHBase,代码行数:70,代码来源:HFileReaderV1.java


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