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


Java BlockCategory.BLOOM属性代码示例

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


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

示例1: shouldReadBlockFromCache

/**
 * Return true if we may find this type of block in block cache.
 * <p/>
 * TODO: today {@code family.isBlockCacheEnabled()} only means {@code cacheDataOnRead}, so here we
 * consider lots of other configurations such as {@code cacheDataOnWrite}. We should fix this in
 * the future, {@code cacheDataOnWrite} should honor the CF level {@code isBlockCacheEnabled}
 * configuration.
 */
public boolean shouldReadBlockFromCache(BlockType blockType) {
  if (!isBlockCacheEnabled()) {
    return false;
  }
  if (cacheDataOnRead) {
    return true;
  }
  if (prefetchOnOpen) {
    return true;
  }
  if (cacheDataOnWrite) {
    return true;
  }
  if (blockType == null) {
    return true;
  }
  if (blockType.getCategory() == BlockCategory.BLOOM ||
          blockType.getCategory() == BlockCategory.INDEX) {
    return true;
  }
  return false;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:30,代码来源:CacheConfig.java

示例2: shouldReadBlockFromCache

/**
 * Return true if we may find this type of block in block cache.
 * <p>
 * TODO: today {@code family.isBlockCacheEnabled()} only means {@code cacheDataOnRead}, so here we
 * consider lots of other configurations such as {@code cacheDataOnWrite}. We should fix this in
 * the future, {@code cacheDataOnWrite} should honor the CF level {@code isBlockCacheEnabled}
 * configuration.
 */
public boolean shouldReadBlockFromCache(BlockType blockType) {
  if (!isBlockCacheEnabled()) {
    return false;
  }
  if (cacheDataOnRead) {
    return true;
  }
  if (prefetchOnOpen) {
    return true;
  }
  if (cacheDataOnWrite) {
    return true;
  }
  if (blockType == null) {
    return true;
  }
  if (blockType.getCategory() == BlockCategory.BLOOM ||
          blockType.getCategory() == BlockCategory.INDEX) {
    return true;
  }
  return false;
}
 
开发者ID:apache,项目名称:hbase,代码行数:30,代码来源:CacheConfig.java

示例3: 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

示例4: 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);
  return shouldCache;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:10,代码来源:CacheConfig.java

示例5: 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

示例6: 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);
  return shouldCache;
}
 
开发者ID:wanhao,项目名称:IRIndex,代码行数:12,代码来源:CacheConfig.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) {
        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

示例8: 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

示例9: 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

示例10: 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.
 *
 * @param category the category
 * @return true, if successful
 */
public boolean shouldCacheBlockOnRead(BlockCategory category) {
  boolean shouldCache = isBlockCacheEnabled()
      && (cacheDataOnRead ||
          category == BlockCategory.INDEX ||
          category == BlockCategory.BLOOM);
  return shouldCache;
}
 
开发者ID:VladRodionov,项目名称:bigbase,代码行数:15,代码来源:CacheConfig.java


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