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


Java CellComparator.compare方法代码示例

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


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

示例1: binarySearch

import org.apache.hadoop.hbase.CellComparator; //导入方法依赖的package包/类
/**
 * Binary search for keys in indexes.
 *
 * @param arr array of byte arrays to search for
 * @param key the key you want to find
 * @param comparator a comparator to compare.
 * @return zero-based index of the key, if the key is present in the array.
 *         Otherwise, a value -(i + 1) such that the key is between arr[i -
 *         1] and arr[i] non-inclusively, where i is in [0, i], if we define
 *         arr[-1] = -Inf and arr[N] = Inf for an N-element array. The above
 *         means that this function can return 2N + 1 different values
 *         ranging from -(N + 1) to N - 1.
 * @return the index of the block
 */
public static int binarySearch(Cell[] arr, Cell key, CellComparator comparator) {
  int low = 0;
  int high = arr.length - 1;
  while (low <= high) {
    int mid = (low+high) >>> 1;
    // we have to compare in this order, because the comparator order
    // has special logic when the 'left side' is a special key.
    int cmp = comparator.compare(key, arr[mid]);
    // key lives above the midpoint
    if (cmp > 0)
      low = mid + 1;
    // key lives below the midpoint
    else if (cmp < 0)
      high = mid - 1;
    // BAM. how often does this really happen?
    else
      return mid;
  }
  return - (low+1);
}
 
开发者ID:apache,项目名称:hbase,代码行数:35,代码来源:Bytes.java

示例2: verifyAllEditsMadeItIn

import org.apache.hadoop.hbase.CellComparator; //导入方法依赖的package包/类
/**
 * @param fs
 * @param conf
 * @param edits
 * @param region
 * @return Return how many edits seen.
 * @throws IOException
 */
private int verifyAllEditsMadeItIn(final FileSystem fs, final Configuration conf,
    final Path edits, final HRegion region)
throws IOException {
  int count = 0;
  // Based on HRegion#replayRecoveredEdits
  WAL.Reader reader = null;
  try {
    reader = WALFactory.createReader(fs, edits, conf);
    WAL.Entry entry;
    while ((entry = reader.next()) != null) {
      WALKey key = entry.getKey();
      WALEdit val = entry.getEdit();
      count++;
      // Check this edit is for this region.
      if (!Bytes.equals(key.getEncodedRegionName(),
          region.getRegionInfo().getEncodedNameAsBytes())) {
        continue;
      }
      Cell previous = null;
      for (Cell cell: val.getCells()) {
        if (CellUtil.matchingFamily(cell, WALEdit.METAFAMILY)) continue;
        if (previous != null && CellComparator.compareRows(previous, cell) == 0) continue;
        previous = cell;
        Get g = new Get(CellUtil.cloneRow(cell));
        Result r = region.get(g);
        boolean found = false;
        for (CellScanner scanner = r.cellScanner(); scanner.advance();) {
          Cell current = scanner.current();
          if (CellComparator.compare(cell, current, true) == 0) {
            found = true;
            break;
          }
        }
        assertTrue("Failed to find " + cell, found);
      }
    }
  } finally {
    if (reader != null) reader.close();
  }
  return count;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:50,代码来源:TestRecoveredEdits.java

示例3: compareTo

import org.apache.hadoop.hbase.CellComparator; //导入方法依赖的package包/类
@Override
public int compareTo(Cell other) {
  return CellComparator.compare(this, other, false);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:5,代码来源:PrefixTreeCell.java

示例4: populateNonRowFieldsAndCompareTo

import org.apache.hadoop.hbase.CellComparator; //导入方法依赖的package包/类
/********************* fill in family/qualifier/ts/type/value ************/

  protected int populateNonRowFieldsAndCompareTo(int cellNum, Cell key) {
    populateNonRowFields(cellNum);
    return CellComparator.compare(this, key, true);
  }
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:7,代码来源:PrefixTreeArrayScanner.java


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