爲什麼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