【问题标题】:HBase count shell commandHBase 计数 shell 命令
【发布时间】:2017-08-13 18:44:42
【问题描述】:

我理解 shell 命令 count 将给出表中的行数/行数。但是这里的 INTERVAL 和 CACHE 是什么意思呢?我检查了网络。几乎所有网站都有相同的解释

"当前计数默认每 1000 行显示一次。可以选择指定计数间隔。默认情况下,在计数扫描时启用扫描缓存。默认缓存大小为 10 行。如果我们的行大小较小,您可能希望增加这个参数。例子:"

我不明白他们在解释什么。

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

谁能简单解释一下?

【问题讨论】:

    标签: hbase


    【解决方案1】:

    您可以只使用一个大表(超过 2000 行)来运行count 命令,您可以看到它们是如何工作的。

    由于count 操作可能需要很长时间,所以它会不断打印当前结果,如下所示:

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

    因此,如果 INTERVAL 为 1000,它将在计数过程达到 1000 时打印。

    Cache 只是scan 命令的缓存。基本上,如果增加缓存配置,计数过程会更快,但会消耗更多内存,所以它说:

    如果您的行数较小,您可能需要增加此值 参数。

    【讨论】:

      【解决方案2】:

      @MallowFox 很好地解释了COUNT

      但是,缓存有点令人困惑。为什么缓存会使计数更快?它不需要记住它计算的行数。重要的是行数而不是它们的内容。

      事实证明缓存有点用词不当,缓存应该更恰当地命名为缓冲区或批量大小。这是每个 RPC 返回到 HBase 的行数。如果数字太低,您的开销可能会增加,并且计数可能会变慢。

      在此处了解更多信息:

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

      【讨论】:

        猜你喜欢
        • 2012-09-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-10
        • 2017-12-23
        • 1970-01-01
        • 1970-01-01
        • 2017-01-27
        • 2016-10-22
        相关资源
        最近更新 更多