Hbase统计表总行数的三种方式
2017-05-08 15:39
204 查看
由于Hbase是列式数据库,没有提供类似SQL的数据查询语句,可以通过以下三种方式获取表的总行数。
这种方法会启用mapreduce任务去统计行数,在数据量比较大时,可以简单的使用此命令
select count(*) from Test;
以上三种方法可以使用统计总行数,但作为开发获取总行数时,就需要使用过滤器Filter或者协处理器Coprocessor进行编码实现,二者使用起来性能上还是有很大的差距,下一篇文章再详细的说明。
1. 使用Hbase自带的Count命令
hbase提供了count命令可以在hbase交互界面使用,获取总行数hbase> count ‘test′ hbase> count ‘t1′, INTERVAL => 100000INTERVAL为统计的行数间隔,默认为1000。使用此种方式效率比较低,一般数据量在千万级别时,耗时6分钟以上,不建议使用。
2.使用hbase自动的mapreduce任务统计行数
hbase自带有继承的统计表行数的mapreduce的Job---->org.apache.hadoop.hbase.mapreduce.RowCounter$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter运行结果会在ROWS处体现
这种方法会启用mapreduce任务去统计行数,在数据量比较大时,可以简单的使用此命令
3.使用hive创建外表关联Hbase表
对于存在的hbase表,在hive中创建关联表,然后使用语句统计总行数select count(*) from Test;
CREATE EXTERNAL TABLE Test( mRID string, name string, nominalVoltage FLOAT )ROW FORMAT SERDE'org.apache.hadoop.hive.hbase.HBaseSerDe' STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,pw:name,pw:nominalVoltage") TBLPROPERTIES("hbase.table.name"= "test");
以上三种方法可以使用统计总行数,但作为开发获取总行数时,就需要使用过滤器Filter或者协处理器Coprocessor进行编码实现,二者使用起来性能上还是有很大的差距,下一篇文章再详细的说明。
相关文章推荐
- Hbase 统计表行数的3种方式总结
- 数据导入HBase最常用的三种方式及实践分析
- 数据导入HBase最常用的三种方式及实践分析
- 数据导入HBase最常用的三种方式(一)——put方式
- Hbase 统计表行数的3种方式总结
- 数据导入HBase最常用的三种方式及实践分析
- Hbase split的三种方式和split的过程
- 数据导入HBase最常用的三种方式
- Hbase 统计表行数的3种方式总结
- HBase的三种操作方式
- 数据导入HBase最常用的三种方式及实践分析
- Hbase split的三种方式和split的过程
- Hbase 统计表行数的3种方式总结
- Hbase 统计表行数的3种方式总结
- Hbase split的三种方式和split的过程
- 数据导入HBase最常用的三种方式及实践分析
- 数据导入HBase最常用的三种方式及实践分析
- Axis部署和开发web service支持的三种方式
- list的三种循环方式
- JavaScript中清空数组的三种方式