繁体   English   中英

如何使用Hbase的RowCounter类获取表中的行数?

[英]How to use Hbase's RowCounter class to get number of rows in a table?

使用时

$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>

如何指定一个MapReduce集群用于对指定表中的行进行计数(通过hbase.apache网站的此链接 )。

我在cmd行上运行了上面的命令,它返回了行数。 但是,返回计数花费了2个小时以上,因为它是在localhost而不是hadoop集群上运行的。 我花了10分钟从hbase shell运行以下命令:

count 'tablename'

在有人问为什么我不能只从hbase shell运行此cmd之前,我有一个花费1个小时返回表的表。 我认为使用此命令会更快,因为它将使用mapreduce作业来返回行计数,而不是在hbase shell中运行,而我不认为它会使用mapreduce。

我不会承认用户错误,但显然我用来运行命令的用户无权访问Hadoop集群,因此在集群上未创建任何map / reduce作业,因此该命令创建了本地MR作业。 它完成了,但是花了2个小时才完成。

当我发现有权限的用户时,作业将在30秒内完成并且DID使用MR群集来划分和征服该作业。

发布此答案,以防有人遇到我遇到的相同问题,但希望可以节省他们的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM