hbase 是根据rowkey查询的,ScanRows prefixFilter等过滤
要实现分页只能从rowkey下手
rowkey生成规则
rowkey = (mall_id%100)(mall_id)(biz_type)(date)(row_number)
row_number 从 00001 到010001这样下去 我们拿count只需要反向拿到最后一条解析下rowkey
分页根据 page pagesize 计算 startRowkey endRowKey
@Override
public List<Map<String, String>> queryOneByRowPrefixAndReversed(String tableName, String prefix, Boolean isReversed) throws IOException {
Scan scan = generatePrefixScan(prefix);
FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
Filter pageFilter = new PageFilter(1);
filterList.addFilter(pageFilter);
scan.setFilter(filterList);
scan.setReversed(isReversed);
if (isReversed) {
byte[] startRow = scan.getStartRow();
scan.setStartRow(scan.getStopRow());
scan.setStopRow(startRow);
}
return getScanResult(sc