好程式員大資料教育訓練分享HBase Filter過濾器概述,過濾器介紹
HBase過濾器是一套為完成一些較進階的需求所提供的API接口。
過濾器也被稱為下推判斷器(push-down predicates),支援把資料過濾标準從用戶端下推到伺服器,帶有 Filter 條件的 RPC 查詢請求會把 Filter 分發到各個 RegionServer,所有的過濾器都在服務端生效,使被過濾掉的資料不會被傳送到用戶端,這些過濾邏輯在讀操作時使用,可以有效降低網絡傳輸的壓力。
過濾器組成
過濾器主要有過濾器本身、比較器和比較運算符組成。
-
操作符
抽象操作符,也叫比較運算符。
LESS:小于
LESS_OR_EQUAL:小于等于
EQUAL:等于
NOT_EQUAL:不等于
GREATER:大于
GREATER_OR_EQUAL:大于等于
NO_OP:排除一切值
-
比較器
BinaryComparator:二進制比較器,用于按字典順序比較指定位元組數組。
BinaryPrefixComparator:二進制比較器,隻比較字首是否與指定位元組數組相同。
NullComparator:控制比較式,判斷目前值是不是為null。
BitComparator:位比價器,通過BitwiseOp提供的AND(與)、OR(或)、NOT(非)進行比較。
RegexStringComparator:提供一個正則的比較器,支援正規表達式的值比較,僅支援 EQUAL 和非 EQUAL。
SubstringComparator:判斷提供的子串是否出現在value中,并且不區分大小寫。
過濾器家族
HBase 内置了多種過濾器,這些過濾器或直接或間接都繼承于FilterBase抽象類。