计算Hbase中的行数可能需要很长时间(例如,见question) - 对于相当大的表/
而言不切实际但是,我不需要确切的数字 - 估计就足够了(主要是为了确保增长率符合预期)
是否有一些间接\不太精确的方法来计算表格大小? 可能基于存储使用情况? (行大小或多或少均匀)
答案 0 :(得分:4)
您可以使用HBase协处理器。它们自HBase 0.92起可用
AggregationClient aggregationClient = new AggregationClient(conf);
Scan scan = new Scan();
scan.addFamily(Bytes.toBytes("provide_one_table_family_name"));
long rowCount = aggregationClient.rowCount(Bytes.toBytes("your_table_name"), null, scan);
log.info("row count is " + rowCount);
确保您的hbase-site.xml具有以下属性:
<property>
<name>hbase.coprocessor.user.region.classes</name>
<value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
</property>