使用时
$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>
如何指定MapReduce集群用于计算指定表中的行数(来自hbase.apache网站的this link)。
我在我的cmd行上运行了上面的命令,它返回了行数。但是,它返回计数需要2个多小时,因为它在localhost上运行,而不是在hadoop集群上运行。我花了10分钟从hbase shell运行:
count 'tablename'
在有人问为什么我不能从hbase shell运行这个cmd之前,我有一个表需要1小时才能返回rowcount。我认为使用这个命令会更快,因为它会使用mapreduce作业来返回行数,而不是在hbase shell中运行,我认为不会使用mapreduce。
答案 0 :(得分:0)
我不承认用户错误,但显然我用来运行命令的用户无法访问Hadoop群集,因此没有在群集上创建map / reduce作业,因此没有创建本地MR作业是由命令创建的。它结束了,但花了2个小时才完成。
当我找到有权限的用户时,作业在30秒内完成,DID使用MR群集来分割和征服作业。
发布此答案以防有人遇到我遇到的同样问题,但希望能节省时间。