HBase统计表行数的方法

count命令

count ‘t1′
count ‘t1′, INTERVAL => 100000
count ‘t1′, CACHE => 1000
count ‘t1′, INTERVAL => 10, CACHE => 1000

其中,INTERVAL为统计的行数间隔,默认为1000,CACHE为统计的数据缓存。这种方式效率很低,如果表行数很大的话不建议采用这种方式

调用MapReduce

执行命令:

$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'tablename'

这种方式效率比上一种要高很多,调用的hbase jar中自带的统计行数的类。

hive

如果已经见了hive和hbase的关联表的话,可以直接在hive中执行sql语句统计hbase表的行数。
hive over hbase 表的建表语句为:

创建hive与hbase的关联表

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关联已经存在的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");  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容