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


Java Reader.getScanner方法代码示例

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


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

示例1: seekTFile

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
public void seekTFile() throws IOException {
  int miss = 0;
  long totalBytes = 0;
  FSDataInputStream fsdis = fs.open(path);
  Reader reader = HFile.createReaderFromStream(path, fsdis,
      fs.getFileStatus(path).getLen(), new CacheConfig(conf), conf);
  reader.loadFileInfo();
  KeySampler kSampler =
      new KeySampler(rng, reader.getFirstKey(), reader.getLastKey(),
          keyLenGen);
  HFileScanner scanner = reader.getScanner(false, USE_PREAD);
  BytesWritable key = new BytesWritable();
  timer.reset();
  timer.start();
  for (int i = 0; i < options.seekCount; ++i) {
    kSampler.next(key);
    byte [] k = new byte [key.getLength()];
    System.arraycopy(key.getBytes(), 0, k, 0, key.getLength());
    if (scanner.seekTo(KeyValue.createKeyValueFromKey(k)) >= 0) {
      ByteBuffer bbkey = scanner.getKey();
      ByteBuffer bbval = scanner.getValue();
      totalBytes += bbkey.limit();
      totalBytes += bbval.limit();
    }
    else {
      ++miss;
    }
  }
  timer.stop();
  System.out.printf(
      "time: %s...avg seek: %s...%d hit...%d miss...avg I/O size: %.2fKB\n",
      timer.toString(), NanoTimer.nanoTimeToString(timer.read()
          / options.seekCount), options.seekCount - miss, miss,
      (double) totalBytes / 1024 / (options.seekCount - miss));

}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:37,代码来源:TestHFileSeek.java

示例2: seekTFile

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
public void seekTFile() throws IOException {
  int miss = 0;
  long totalBytes = 0;
  FSDataInputStream fsdis = fs.open(path);
  Reader reader = HFile.createReaderFromStream(path, fsdis,
      fs.getFileStatus(path).getLen(), new CacheConfig(conf));
  reader.loadFileInfo();
  KeySampler kSampler =
      new KeySampler(rng, reader.getFirstKey(), reader.getLastKey(),
          keyLenGen);
  HFileScanner scanner = reader.getScanner(false, USE_PREAD);
  BytesWritable key = new BytesWritable();
  timer.reset();
  timer.start();
  for (int i = 0; i < options.seekCount; ++i) {
    kSampler.next(key);
    byte [] k = new byte [key.getLength()];
    System.arraycopy(key.getBytes(), 0, k, 0, key.getLength());
    if (scanner.seekTo(k) >= 0) {
      ByteBuffer bbkey = scanner.getKey();
      ByteBuffer bbval = scanner.getValue();
      totalBytes += bbkey.limit();
      totalBytes += bbval.limit();
    }
    else {
      ++miss;
    }
  }
  timer.stop();
  System.out.printf(
      "time: %s...avg seek: %s...%d hit...%d miss...avg I/O size: %.2fKB\n",
      timer.toString(), NanoTimer.nanoTimeToString(timer.read()
          / options.seekCount), options.seekCount - miss, miss,
      (double) totalBytes / 1024 / (options.seekCount - miss));

}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:37,代码来源:TestHFileSeek.java

示例3: seekTFile

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
public void seekTFile() throws IOException {
  int miss = 0;
  long totalBytes = 0;
  FSDataInputStream fsdis = fs.open(path);
  Reader reader = HFile.createReaderFromStream(path, fsdis,
      fs.getFileStatus(path).getLen(), new CacheConfig(conf), conf);
  reader.loadFileInfo();
  KeySampler kSampler =
      new KeySampler(rng, reader.getFirstKey(), reader.getLastKey(),
          keyLenGen);
  HFileScanner scanner = reader.getScanner(false, USE_PREAD);
  BytesWritable key = new BytesWritable();
  timer.reset();
  timer.start();
  for (int i = 0; i < options.seekCount; ++i) {
    kSampler.next(key);
    byte [] k = new byte [key.getLength()];
    System.arraycopy(key.getBytes(), 0, k, 0, key.getLength());
    if (scanner.seekTo(k) >= 0) {
      ByteBuffer bbkey = scanner.getKey();
      ByteBuffer bbval = scanner.getValue();
      totalBytes += bbkey.limit();
      totalBytes += bbval.limit();
    }
    else {
      ++miss;
    }
  }
  timer.stop();
  System.out.printf(
      "time: %s...avg seek: %s...%d hit...%d miss...avg I/O size: %.2fKB\n",
      timer.toString(), NanoTimer.nanoTimeToString(timer.read()
          / options.seekCount), options.seekCount - miss, miss,
      (double) totalBytes / 1024 / (options.seekCount - miss));

}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:37,代码来源:TestHFileSeek.java

示例4: seekTFile

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
public void seekTFile() throws IOException {
  int miss = 0;
  long totalBytes = 0;
  FSDataInputStream fsdis = fs.open(path);
  Reader reader = HFile.createReaderFromStream(path, fsdis,
      fs.getFileStatus(path).getLen(), new CacheConfig(conf), conf);
  reader.loadFileInfo();
  KeySampler kSampler = new KeySampler(rng, ((KeyValue) reader.getFirstKey().get()).getKey(),
      ((KeyValue) reader.getLastKey().get()).getKey(), keyLenGen);
  HFileScanner scanner = reader.getScanner(false, USE_PREAD);
  BytesWritable key = new BytesWritable();
  timer.reset();
  timer.start();
  for (int i = 0; i < options.seekCount; ++i) {
    kSampler.next(key);
    byte [] k = new byte [key.getLength()];
    System.arraycopy(key.getBytes(), 0, k, 0, key.getLength());
    if (scanner.seekTo(KeyValueUtil.createKeyValueFromKey(k)) >= 0) {
      ByteBuffer bbkey = ByteBuffer.wrap(((KeyValue) scanner.getKey()).getKey());
      ByteBuffer bbval = scanner.getValue();
      totalBytes += bbkey.limit();
      totalBytes += bbval.limit();
    }
    else {
      ++miss;
    }
  }
  timer.stop();
  System.out.printf(
      "time: %s...avg seek: %s...%d hit...%d miss...avg I/O size: %.2fKB\n",
      timer.toString(), NanoTimer.nanoTimeToString(timer.read()
          / options.seekCount), options.seekCount - miss, miss,
      (double) totalBytes / 1024 / (options.seekCount - miss));

}
 
开发者ID:apache,项目名称:hbase,代码行数:36,代码来源:TestHFileSeek.java

示例5: basicWithSomeCodec

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
/**
 * test none codecs
 */
void basicWithSomeCodec(String codec) throws IOException {
  if (cacheConf == null) cacheConf = new CacheConfig(conf);
  Path ncTFile = new Path(ROOT_DIR, "basic.hfile." + codec.toString());
  FSDataOutputStream fout = createFSOutput(ncTFile);
  Writer writer = HFile.getWriterFactory(conf, cacheConf)
      .withOutputStream(fout)
      .withBlockSize(minBlockSize)
      .withCompression(codec)
      .create();
  LOG.info(writer);
  writeRecords(writer);
  fout.close();
  FSDataInputStream fin = fs.open(ncTFile);
  Reader reader = HFile.createReaderFromStream(ncTFile, fs.open(ncTFile),
    fs.getFileStatus(ncTFile).getLen(), cacheConf);
  System.out.println(cacheConf.toString());
  // Load up the index.
  reader.loadFileInfo();
  // Get a scanner that caches and that does not use pread.
  HFileScanner scanner = reader.getScanner(true, false);
  // Align scanner at start of the file.
  scanner.seekTo();
  readAllRecords(scanner);
  scanner.seekTo(getSomeKey(50));
  assertTrue("location lookup failed", scanner.seekTo(getSomeKey(50)) == 0);
  // read the key and see if it matches
  ByteBuffer readKey = scanner.getKey();
  assertTrue("seeked key does not match", Arrays.equals(getSomeKey(50),
    Bytes.toBytes(readKey)));

  scanner.seekTo(new byte[0]);
  ByteBuffer val1 = scanner.getValue();
  scanner.seekTo(new byte[0]);
  ByteBuffer val2 = scanner.getValue();
  assertTrue(Arrays.equals(Bytes.toBytes(val1), Bytes.toBytes(val2)));

  reader.close();
  fin.close();
  fs.delete(ncTFile, true);
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:44,代码来源:TestHFile.java

示例6: basicWithSomeCodec

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
/**
 * test none codecs
 * @param useTags 
 */
void basicWithSomeCodec(String codec, boolean useTags) throws IOException {
  if (useTags) {
    conf.setInt("hfile.format.version", 3);
  }
  if (cacheConf == null) cacheConf = new CacheConfig(conf);
  Path ncTFile = new Path(ROOT_DIR, "basic.hfile." + codec.toString() + useTags);
  FSDataOutputStream fout = createFSOutput(ncTFile);
  HFileContext meta = new HFileContextBuilder()
                      .withBlockSize(minBlockSize)
                      .withCompression(AbstractHFileWriter.compressionByName(codec))
                      .build();
  Writer writer = HFile.getWriterFactory(conf, cacheConf)
      .withOutputStream(fout)
      .withFileContext(meta)
      // NOTE: This test is dependent on this deprecated nonstandard comparator
      .withComparator(new KeyValue.RawBytesComparator())
      .create();
  LOG.info(writer);
  writeRecords(writer, useTags);
  fout.close();
  FSDataInputStream fin = fs.open(ncTFile);
  Reader reader = HFile.createReaderFromStream(ncTFile, fs.open(ncTFile),
    fs.getFileStatus(ncTFile).getLen(), cacheConf, conf);
  System.out.println(cacheConf.toString());
  // Load up the index.
  reader.loadFileInfo();
  // Get a scanner that caches and that does not use pread.
  HFileScanner scanner = reader.getScanner(true, false);
  // Align scanner at start of the file.
  scanner.seekTo();
  readAllRecords(scanner);
  scanner.seekTo(getSomeKey(50));
  assertTrue("location lookup failed", scanner.seekTo(getSomeKey(50)) == 0);
  // read the key and see if it matches
  ByteBuffer readKey = scanner.getKey();
  assertTrue("seeked key does not match", Arrays.equals(getSomeKey(50),
    Bytes.toBytes(readKey)));

  scanner.seekTo(new byte[0]);
  ByteBuffer val1 = scanner.getValue();
  scanner.seekTo(new byte[0]);
  ByteBuffer val2 = scanner.getValue();
  assertTrue(Arrays.equals(Bytes.toBytes(val1), Bytes.toBytes(val2)));

  reader.close();
  fin.close();
  fs.delete(ncTFile, true);
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:53,代码来源:TestHFile.java

示例7: basicWithSomeCodec

import org.apache.hadoop.hbase.io.hfile.HFile.Reader; //导入方法依赖的package包/类
/**
 * test none codecs
 */
void basicWithSomeCodec(String codec) throws IOException {
  if (cacheConf == null) cacheConf = new CacheConfig(conf);
  Path ncTFile = new Path(ROOT_DIR, "basic.hfile." + codec.toString());
  FSDataOutputStream fout = createFSOutput(ncTFile);
  Writer writer = HFile.getWriterFactory(conf, cacheConf)
      .withOutputStream(fout)
      .withBlockSize(minBlockSize)
      .withCompression(codec)
      // NOTE: This test is dependent on this deprecated nonstandard comparator
      .withComparator(new KeyValue.RawBytesComparator())
      .create();
  LOG.info(writer);
  writeRecords(writer);
  fout.close();
  FSDataInputStream fin = fs.open(ncTFile);
  Reader reader = HFile.createReaderFromStream(ncTFile, fs.open(ncTFile),
    fs.getFileStatus(ncTFile).getLen(), cacheConf);
  System.out.println(cacheConf.toString());
  // Load up the index.
  reader.loadFileInfo();
  // Get a scanner that caches and that does not use pread.
  HFileScanner scanner = reader.getScanner(true, false);
  // Align scanner at start of the file.
  scanner.seekTo();
  readAllRecords(scanner);
  scanner.seekTo(getSomeKey(50));
  assertTrue("location lookup failed", scanner.seekTo(getSomeKey(50)) == 0);
  // read the key and see if it matches
  ByteBuffer readKey = scanner.getKey();
  assertTrue("seeked key does not match", Arrays.equals(getSomeKey(50),
    Bytes.toBytes(readKey)));

  scanner.seekTo(new byte[0]);
  ByteBuffer val1 = scanner.getValue();
  scanner.seekTo(new byte[0]);
  ByteBuffer val2 = scanner.getValue();
  assertTrue(Arrays.equals(Bytes.toBytes(val1), Bytes.toBytes(val2)));

  reader.close();
  fin.close();
  fs.delete(ncTFile, true);
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:46,代码来源:TestHFile.java


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