簡體   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