开发者社区 问答 正文

如何快速统计 HBase 里面有多少行数据

我现在有个需求,就是需要实时统计出 HBase 里面到底有多少行的数据,现在我的实现如下:

for (Result rs = scanner.next(); rs != null; rs = scanner.next()) {
    number++;
}

如果数据量达到数百万,使用上面的方法计算时间会变得很大。这肯定不是好的办法,大家有什么实现思路呢?

展开
收起
pandacats 2019-12-20 21:28:18 1015 分享 版权
1 条回答
写回答
取消 提交回答
  • 可以试试 HBase 里面的 RowCounter 。RowCounter 内部是使用 MapReduce 来计算一个表里面的行数。使用方法如下:

    $ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>
    
    Usage: RowCounter [options] 
        <tablename> [          
            --starttime=[start] 
            --endtime=[end] 
            [--range=[startKey],[endKey]] 
            [<column1> <column2>...]
        ]
    
    2019-12-20 21:28:40
    赞同 展开评论