为什么带有AND的Hbase过滤器导致巨大的性能下降?

时间:2015-10-18 10:43:48

标签: hbase

为什么带有AND的Hbase shell过滤器导致性能大幅下降?

  • 扫描'表',{FILTER => “PrefixFilter('192.168.120.1')”}
  • 在0.8840秒内排160行
  • 扫描'表',{FILTER => “PrefixFilter('192.168.120.1')和ColumnPrefixFilter('SSL')”}
  • 196行(196.0920秒)

2 个答案:

答案 0 :(得分:3)

scan ‘table’, {FILTER => “PrefixFilter(‘192.168.120.1′)”}

- 您正在使用PrefixFilter。在这种情况下,比较将仅保存在表的行键上,这比其他过滤器有效。 意味着它将比较" 192.168.120.1"对比表中所有相对有效的排键。

scan ‘table’, {FILTER => “PrefixFilter(‘192.168.120.1′) AND ColumnPrefixFilter(‘SSL’)”}

- 在这里使用两个过滤器 PrefixFilter ColumnPrefixFilter 。对于在记录的rowkeys上进行的PrefixFilter比较,但对于ColumnPrefixFilter,每个列最终都与给定的参数进行比较在更多的比较中,这就是为什么它会增加你的响应时间。

答案 1 :(得分:0)

扫描发生在整个桌面上。过滤器处理扫描数据。所以你要扫描两次。使用多个过滤器可以增加响应时间。应仔细执行行键设计,以获得频繁的数据