现在我实现了行计数ResultScanner
像这样
for (Result rs = scanner.next(); rs != null; rs = scanner.next()) {
number++;
}
如果数据达到百万次计算量很大。我想实时计算我不想使用Mapreduce
如何快速统计行数。
在 HBase 中使用 RowCounterRowCounter 是一个 MapReduce 作业,用于对表的所有行进行计数。这是一个很好的实用程序,可用作健全性检查,以确保在存在任何元数据不一致问题时 HBase 可以读取表的所有块。它将在单个进程中运行所有 MapReduce,但如果您有一个 MapReduce 集群供其利用,它会运行得更快。
$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>
Usage: RowCounter [options]
<tablename> [
--starttime=[start]
--endtime=[end]
[--range=[startKey],[endKey]]
[<column1> <column2>...]
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)