2017-08-13 110 views
1

我明白shell命令count會給出表的行數/行數。但是INTERVAL和CACHE在這裏表示了什麼?我查了網。幾乎所有的網站都有相同的解釋HBase count shell命令

「默認情況下每1000行顯示當前計數,可以選擇指定計數間隔默認情況下計數掃描啓用掃描緩存默認緩存大小爲10行如果我們行很小,你可能想增加這個參數。例如:「

我不明白他們在解釋什麼。

hbase> COUNT 't1', INTERVAL => 100000 
hbase> COUNT 't1', CACHE => 1000 
hbase> COUNT 't1', INTERVAL => 10, CACHE => 1000 

任何人都可以簡單的解釋嗎?

回答

2

您可以使用一個大表(超過2000行)來運行count命令,並且您可以看到它們的工作方式。

由於count操作可能需要很長的時間,所以這將打印在當前結果而上,像這樣:

Current count: 1000, row: ...                       
Current count: 2000, row: .....                          
Current count: 3000, row: .... 

因此,如果間隔爲1000,那麼其會在有史以來計數過程得到打印1000.

Cache只是scan命令的緩存。基本上,計數過程將是,如果增加高速緩存配置更快,但是會花費更多的內存,所以它說:

如果行的體積小,你可能想提高這個 參數。

0

@MallowFox解釋COUNT好。

但是,高速緩存有點混亂。爲什麼緩存會讓計數更快?它不需要記住它所計算的行。重要的是多少行,而不是他們的內容。

事實證明,緩存有點不恰當,緩存應該更恰當地命名爲緩衝區或批量大小。這是每個RPC到HBase的行數。如果數字太低,則可能會增加開銷,並且計數可能會變得更慢。

更多關於這家在這裏:

https://stackoverflow.com/a/22547731/492773