【发布时间】:2016-11-26 01:36:10
【问题描述】:
使用时
$ 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 小时才能返回行数。我认为使用这个命令会更快,因为它会使用 mapreduce 作业来返回行数,而不是在 hbase shell 中运行,我不认为它使用 mapreduce。
【问题讨论】:
-
run
$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>也很慢?您无需指定 MapReduce 集群,我认为该作业在 hbase 区域服务器上运行。 -
@sel-fish,感谢您的帮助。我可能会关闭这个问题。我发现我的用户无权写入/使用集群,这就是它可能使用 localhost 的原因。一旦我找到一个可以访问集群的用户,上面的命令需要大约 15 秒才能运行,而 hbase shell 需要 10 分钟。