在使用时
$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>
如何指定用于计算指定表中的行数的MapReduce群集(根据hbase.apache网站上的this link )。
我在我的cmd行上运行了上面的命令,它返回了行数。但是,返回计数花费了2个多小时,因为它是在本地主机上运行的,而不是在hadoop集群上运行。我花了10分钟从hbase shell运行:
count 'tablename'
在有人问我为什么不能直接从hbase shell运行这个cmd之前,我有一个表,它花了1个小时才返回行数。我认为使用此命令会更快,因为它将使用mapreduce作业返回行数,而不是在hbase shell中运行,我不认为使用mapreduce。
发布于 2016-07-26 06:53:35
我不会承认用户错误,但很明显,我用来运行该命令的用户没有访问Hadoop集群的权限,因此没有在集群上创建map/reduce作业,因此该命令创建了一个本地MR作业。它完成了,但花了2个小时才完成。
当我找到一个确实有权限的用户时,作业在30秒内完成,并且确实使用MR集群来划分和征服作业。
张贴这个答案,以防有人遇到和我一样的问题,但希望能节省他们的时间。
https://stackoverflow.com/questions/38521522
复制相似问题