TOP

Hbase 大表快速count
2018-11-30 09:43:45 】 浏览:650
Tags:Hbase 快速 count

版权声明:本文为博主原创文章,未经博主允许随机转载。 https://blog.csdn.net/mtj66/article/details/77163604

第一种比较简单,但是只适合小表进行count

1.count命令

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

  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为统计的数据缓存。这种方式效率很低,如果表行数很大的话不建议采用这种方式。

下面两种方法可以进行大表count
2. 调用Mapreduce
  1. $HBASE_HOME/bin/hbaseorg.apache.hadoop.hbase.mapreduce.RowCounter‘tablename’
这种方式效率比上一种要搞很多,调用的hbase jar中自带的统计行数的类。
1000w耗时两分钟。



3.hive over hbase
如果已经见了hive和hbase的关联表的话,可以直接在hive中执行sql语句统计hbase表的行数。
hive over hbase 表的建表语句为:
/*创建hive与hbase的关联表*/
  1. CREATETABLEhive_hbase_1(keyINT,valueSTRING)
  2. STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
  3. WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf:val")
  4. TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");
/*hive关联已经存在的hbase*/
  1. CREATEEXTERNALTABLEhive_hbase_1(keyINT,valueSTRING)
  2. STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
  3. WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf:val")
  4. TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");

Hbase 大表快速count https://www.cppentry.com/bencandy.php?fid=118&id=192072

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HBase写入优化 下一篇spark使用hbasefilter访问hbase表..