如何使用 Hbase 的 RowCounter class 获取 table 中的行数?
How to use Hbase's RowCounter class to get number of rows in a table?
使用时
$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>
如何指定一个 MapReduce 集群来计算我指定的 table 中的行数(来自 hbase.apache 网站的 this link)。
我在我的 cmd 行上 运行 上面的命令,它 return 返回了行数。但是,return 计数花了 2 多个小时,因为它是 运行 在本地主机上而不是在 hadoop 集群上。我花了 10 分钟从 hbase shell 到 运行 使用:
count 'tablename'
在有人问为什么我不能 运行 来自 hbase shell 的命令之前,我有一个 table 花了 1 小时 return 行数.我认为使用此命令会更快,因为它会使用 mapreduce 作业来 return 行计数,而不是 hbase shell 中的 运行ning,我认为后者不使用 mapreduce .
我不会承认用户错误,但显然我以前使用 运行 命令的用户无法访问 Hadoop 集群,因此没有 map/reduce 在集群上创建作业并且因此,该命令创建了一个本地 MR 作业。已完成,但需要 2 小时才能完成。
当我找到一个确实有权限的用户时,作业在 30 秒内完成并且 DID 使用 MR 集群来分而治之。
发布这个答案以防有人 运行 遇到我遇到的同样问题,但希望能节省他们的时间。
使用时
$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter <tablename>
如何指定一个 MapReduce 集群来计算我指定的 table 中的行数(来自 hbase.apache 网站的 this link)。
我在我的 cmd 行上 运行 上面的命令,它 return 返回了行数。但是,return 计数花了 2 多个小时,因为它是 运行 在本地主机上而不是在 hadoop 集群上。我花了 10 分钟从 hbase shell 到 运行 使用:
count 'tablename'
在有人问为什么我不能 运行 来自 hbase shell 的命令之前,我有一个 table 花了 1 小时 return 行数.我认为使用此命令会更快,因为它会使用 mapreduce 作业来 return 行计数,而不是 hbase shell 中的 运行ning,我认为后者不使用 mapreduce .
我不会承认用户错误,但显然我以前使用 运行 命令的用户无法访问 Hadoop 集群,因此没有 map/reduce 在集群上创建作业并且因此,该命令创建了一个本地 MR 作业。已完成,但需要 2 小时才能完成。
当我找到一个确实有权限的用户时,作业在 30 秒内完成并且 DID 使用 MR 集群来分而治之。
发布这个答案以防有人 运行 遇到我遇到的同样问题,但希望能节省他们的时间。