统计表的行数的代码实现,还蛮实用的,适合你用HBase
做数据的时候。就是用个Scan
操作,把全表遍历一遍,行数一目了然。关键代码直白,直接调用getScanner
scanner.next()
遍历一圈,性能上问题不大,毕竟不是高频操作。
HBase 的操作里,像这种全表扫描统计行数的写法,挺常见的:
public static void countRows(String tableName) throws IOException {
init();
Table table = connection.getTable(TableName.valueOf(tableName));
Scan scan = new Scan();
ResultScanner scanner = table.getScanner(scan);
int num = 0;
for (Result result = scanner.next(); result != null; result = scanner.next()) {
num++;
}
System.out.println("行数:" + num);
scanner.close();
}
顺带一提,文章里还贴了学生表、课程表的数据结构转换案例,挺适合新手练手,把关系型表结构转成 HBase 的列族形式,典型。
如果你正好在做扫码相关功能,也可以顺路看看它推荐的 Android Studio 扫码功能实现,跟 HBase 结合开发场景还挺多的,尤其做物联网或者数据采集类项目。
嗯,要注意一点,全表扫描这种操作别放在线上频繁跑,量大了容易拖垮 RegionServer,建议测试环境里玩一玩就好。