我知道shell命令count将给出表中的行数/行数。但是这里表示的间隔和缓存是什么呢?。我上网查过了。几乎所有的网站都有相同的解释
“默认情况下,当前计数每1000行显示一次。可以选择指定计数间隔。默认情况下,对计数扫描启用扫描缓存。默认缓存大小为10行。如果行的大小很小,您可能需要增加此参数。示例:“
我不明白他们在解释什么。
hbase> COUNT 't1', INTERVAL => 100000
hbase> COUNT 't1', CACHE => 1000
hbase> COUNT 't1', INTERVAL => 10, CACHE => 1000
有人能简单地解释一下吗?
2条答案
按热度按时间pkwftd7m1#
您可以只使用一个大表(超过2000行)来运行
count
你可以看到他们是如何工作的。作为
count
操作可能需要很长时间,因此它会不断打印当前结果,如下所示:因此,如果间隔为1000,则当计数进程获得1000时,它将打印。
以及
Cache
只是一堆scan
命令。基本上,如果增加缓存配置,计数过程会更快,但会消耗更多内存,所以它说:如果行的大小较小,则可能需要增加此参数。
xurqigkl2#
@马洛福克斯解释说
COUNT
好。然而,缓存有点混乱。为什么缓存会使计数更快?它不需要记住它计算的行数。重要的是有多少行,而不是它们的内容。
事实证明,缓存有点用词不当,缓存应该更恰当地命名为buffer或batch size。它是每个rpc到hbase返回的行数。如果数字太低,您的开销可能会增加,计数可能会慢得多。
更多信息请参见:
https://stackoverflow.com/a/22547731/492773