gpt4 book ai didi

hadoop - 带偏移量的 Hbase 扫描

转载 作者:可可西里 更新时间:2023-11-01 14:19:21 26 4
gpt4 key购买 nike

有没有办法扫描 HBase 表,例如,获取前 100 个结果,然后再得到下一个 100 等等......就像我们在 SQL 中做的一样使用 LIMIT 和 OFFSET?我的行键是 uuid

最佳答案

您可以通过多种方式进行。最简单的一个是页面过滤器。下面是来自 HBase: The Definitive Guide 的代码示例,第 150 页。

private static final byte[] POSTFIX = new byte[] { 0x00 };Filter filter = new PageFilter(15);int totalRows = 0; byte[] lastRow = null; while (true) {  Scan scan = new Scan();   scan.setFilter(filter);   if (lastRow != null) {    byte[] startRow = Bytes.add(lastRow, POSTFIX);     System.out.println("start row: " + Bytes.toStringBinary(startRow));     scan.setStartRow(startRow);  }
  ResultScanner scanner = table.getScanner(scan);   int localRows = 0;  
  Result result;  
  while ((result = scanner.next()) != null) {     System.out.println(localRows++ + ": " + result);      totalRows++;
     lastRow = result.getRow();  }
  scanner.close();
  if (localRows == 0) break;}
System.out.println("total rows: " + totalRows);

或者您可以设置扫描时捕捉到您想要的限制,然后将起始行更改为每次获取的上一次扫描的最后一行 + 1。

关于hadoop - 带偏移量的 Hbase 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23452700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com