count命令
count ‘t1′
count ‘t1′, INTERVAL => 100000
count ‘t1′, CACHE => 1000
count ‘t1′, INTERVAL => 10, CACHE => 1000
其中盯仪,INTERVAL
為統(tǒng)計的行數(shù)間隔,默認為1000株灸,CACHE
為統(tǒng)計的數(shù)據(jù)緩存祭椰。這種方式效率很低搁痛,如果表行數(shù)很大的話不建議采用這種方式
調用MapReduce
執(zhí)行命令:
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'tablename'
這種方式效率比上一種要高很多,調用的hbase jar中自帶的統(tǒng)計行數(shù)的類。
hive
如果已經(jīng)見了hive和hbase的關聯(lián)表的話嫌变,可以直接在hive中執(zhí)行sql語句統(tǒng)計hbase表的行數(shù)滑沧。
hive over hbase 表的建表語句為:
創(chuàng)建hive與hbase的關聯(lián)表
CREATE TABLE test_hive(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關聯(lián)已經(jīng)存在的hbase
CREATE EXTERNAL TABLE test_hive_2(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");