原地址:https://blog.csdn.net/chaolovejia/article/details/46328983
1.count命令
hbase> count ‘t1′
hbase> count ‘t1′, INTERVAL => 100000
hbase> count ‘t1′, CACHE => 1000
hbase> count ‘t1′, INTERVAL => 10, CACHE => 1000
INTERVAL为统计的行数间隔,默认为1000;
CACHE为统计的数据缓存。
如果表行数很大效率很低,不建议采用这种方式。
2.调用Mapreduce
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter ‘tablename’
这种方式效率比上一种要高很多,调用的hbase jar中自带的统计行数的类。
3.hive over hbase
如果已经建了hive和hbase的关联表的话,可以直接在hive中执行sql语句统计hbase表的行数。
hive over hbase 表的建表语句为:
/*创建hive与hbase的关联表*/
CREATE TABLE hive_hbase_1(key INT,value STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:val")
TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");
/*hive关联已经存在的hbase*/
CREATE EXTERNAL TABLE hive_hbase_1(key INT,value STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:val")
TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");