hbase count shell命令

wmomyfyw  于 2021-06-08  发布在  Hbase
关注(0)|答案(2)|浏览(602)

我知道shell命令count将给出表中的行数/行数。但是这里表示的间隔和缓存是什么呢?。我上网查过了。几乎所有的网站都有相同的解释
“默认情况下,当前计数每1000行显示一次。可以选择指定计数间隔。默认情况下,对计数扫描启用扫描缓存。默认缓存大小为10行。如果行的大小很小,您可能需要增加此参数。示例:“
我不明白他们在解释什么。

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

有人能简单地解释一下吗?

pkwftd7m

pkwftd7m1#

您可以只使用一个大表(超过2000行)来运行 count 你可以看到他们是如何工作的。
作为 count 操作可能需要很长时间,因此它会不断打印当前结果,如下所示:

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

因此,如果间隔为1000,则当计数进程获得1000时,它将打印。
以及 Cache 只是一堆 scan 命令。基本上,如果增加缓存配置,计数过程会更快,但会消耗更多内存,所以它说:
如果行的大小较小,则可能需要增加此参数。

xurqigkl

xurqigkl2#

@马洛福克斯解释说 COUNT 好。
然而,缓存有点混乱。为什么缓存会使计数更快?它不需要记住它计算的行数。重要的是有多少行,而不是它们的内容。
事实证明,缓存有点用词不当,缓存应该更恰当地命名为buffer或batch size。它是每个rpc到hbase返回的行数。如果数字太低,您的开销可能会增加,计数可能会慢得多。
更多信息请参见:
https://stackoverflow.com/a/22547731/492773

相关问题