为什么Hbase shell使用AND进行过滤会导致巨大的性能下降?为什么Hbase使用AND过滤会导致巨大的性能下降?
- 扫描 '表',{FILTER =>“PrefixFilter('192.168.120.1')”}
- 160行(多个)在0.8840秒
- 扫描 '表',{FILTER =>“ PrefixFilter( '192.168.120.1“)和ColumnPrefixFilter在196.0920秒
为什么Hbase shell使用AND进行过滤会导致巨大的性能下降?为什么Hbase使用AND过滤会导致巨大的性能下降?
扫描发生在整个表(' SSL”)”}
scan ‘table’, {FILTER => “PrefixFilter(‘192.168.120.1′)”}
,攀比只能在比其它高效过滤表中的rowkeys举行。 表示它将比较“192.168.120.1”和表中相对有效的所有行键。
scan ‘table’, {FILTER => “PrefixFilter(‘192.168.120.1′) AND ColumnPrefixFilter(‘SSL’)”}
,尤其是圆形您使用两个过滤器PrefixFilter和ColumnPrefixFilter上的记录rowkeys但ColumnPrefixFilter做。对于PrefixFilter比较每列与最终给定的参数,这导致更多的比较次数比较这就是为什么它会增加您的响应时间。
SCAN with PrefixFilter('192.168.120.1')不会发生在整个表上。 – seaman29
我的问题是:为什么两个滤镜比单个滤镜有更多延迟? – seaman29
是的,因为它是行键的前缀,所以只能查询几个区域服务器。但ColumnprefixFilter应该扫描表中的每一行和每一列。所以这真的需要时间。尝试使用两个前缀过滤器并查看延迟,然后与前缀和列前缀进行比较。 – Ramzy