Hbase 统计表行数的3种方式总结

zz:http://blog.csdn.net/chaolovejia/article/details/46328983

有些时候需要我们去统计某一个hbase表的行数,由于hbase本身不支持SQL语言,只能通过其他方式实现。可以通过一下几种方式实现hbase表的行数统计工作:

1.count命令

最直接的方式是在hbase shell中执行count的命令可以统计行数。

[html]  view plain  copy
  1. hbase> count ‘t1′  
  2. hbase> count ‘t1′, INTERVAL => 100000  
  3. hbase> count ‘t1′, CACHE => 1000  
  4. hbase> count ‘t1′, INTERVAL => 10, CACHE => 1000  
 
  
 
其中,INTERVAL为统计的行数间隔,默认为1000,CACHE为统计的数据缓存。这种方式效率很低,如果表行数很大的话不建议采用这种方式。
2. 调用Mapreduce
[plain]  view plain  copy
  1. $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的关联表*/
[sql]  view plain  copy
  1. CREATE TABLE hive_hbase_1(key INT,value STRING)  
  2. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
  3. WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:val")  
  4. TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");  
/*hive关联已经存在的hbase*/
[sql]  view plain  copy
  1. CREATE EXTERNAL TABLE hive_hbase_1(key INT,value STRING)  
  2. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
  3. WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:val")  
  4. TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");  
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值