本文整理汇总了Java中org.apache.hadoop.hbase.regionserver.StoreFileScanner.peek方法的典型用法代码示例。如果您正苦于以下问题:Java StoreFileScanner.peek方法的具体用法?Java StoreFileScanner.peek怎么用?Java StoreFileScanner.peek使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.hbase.regionserver.StoreFileScanner
的用法示例。
在下文中一共展示了StoreFileScanner.peek方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readCell
import org.apache.hadoop.hbase.regionserver.StoreFileScanner; //导入方法依赖的package包/类
/**
* Reads a cell from the mob file.
* @param search The cell need to be searched in the mob file.
* @param cacheMobBlocks Should this scanner cache blocks.
* @param readPt the read point.
* @return The cell in the mob file.
* @throws IOException
*/
public Cell readCell(Cell search, boolean cacheMobBlocks, long readPt) throws IOException {
Cell result = null;
StoreFileScanner scanner = null;
List<HStoreFile> sfs = new ArrayList<>();
sfs.add(sf);
try {
List<StoreFileScanner> sfScanners = StoreFileScanner.getScannersForStoreFiles(sfs,
cacheMobBlocks, true, false, false, readPt);
if (!sfScanners.isEmpty()) {
scanner = sfScanners.get(0);
if (scanner.seek(search)) {
result = scanner.peek();
}
}
} finally {
if (scanner != null) {
scanner.close();
}
}
return result;
}
示例2: readCell
import org.apache.hadoop.hbase.regionserver.StoreFileScanner; //导入方法依赖的package包/类
/**
* Reads a cell from the mob file.
* @param search The KeyValue need to be searched in the mob file.
* @param cacheMobBlocks Should this scanner cache blocks.
* @return The KeyValue in the mob file.
* @throws IOException
*/
public KeyValue readCell(KeyValue search, boolean cacheMobBlocks) throws IOException {
KeyValue result = null;
StoreFileScanner scanner = null;
List<StoreFile> sfs = new ArrayList<StoreFile>();
sfs.add(sf);
try {
List<StoreFileScanner> sfScanners = StoreFileScanner.getScannersForStoreFiles(sfs,
cacheMobBlocks, true, false, null, sf.getMaxMemstoreTS());
if (!sfScanners.isEmpty()) {
scanner = sfScanners.get(0);
if (scanner.seek(search)) {
result = scanner.peek();
}
}
} finally {
if (scanner != null) {
scanner.close();
}
}
return result;
}
示例3: getRawRowkeyList
import org.apache.hadoop.hbase.regionserver.StoreFileScanner; //导入方法依赖的package包/类
private List<byte[]> getRawRowkeyList(StoreFileScanner secondaryScanner,
List<LMDBucket> bucketList, MDRange[] ranges) throws IOException {
List<byte[]> rowkeyList = new ArrayList<>();
for (LMDBucket bucket : bucketList) {
Cell peekCell = secondaryScanner.peek();
if (peekCell != null && Bytes.compareTo(bucket.getStartKey(), peekCell.getRow()) == 0) {
} else {
secondaryScanner.reseek(new KeyValue(bucket.getStartKey(), LMDIndexConstants.FAMILY,
LMDIndexConstants.QUALIFIER));
}
Cell cell;
while ((cell = secondaryScanner.peek()) != null) {
if (Bytes.compareTo(bucket.getStopKey(), cell.getRow()) < 0) {
break;
}
boolean included = true;
int[] values = MDUtils.bitwiseUnzip(cell.getRow(), ranges.length);
for (int i = 0; i < ranges.length; i++) {
if (!ranges[i].include(values[i])) {
included = false;
break;
}
}
if (included) {
// System.out.println("adding key: " + Bytes.toInt(cell.getQualifier()));
rowkeyList.add(cell.getQualifier());
secondaryScanner.next();
} else {
// System.out.println("skipped key: " + Bytes.toInt(cell.getQualifier()));
secondaryScanner.reseek(
new KeyValue(cell.getRow(), LMDIndexConstants.FAMILY, LMDIndexConstants.QUALIFIER));
}
}
}
return rowkeyList;
}