Filter Format and Arguments
Filters
are specified in the Thrift Filter Language and are in this format:
FilterName (argument, argument,... , argument).
Arguments that represent strings are enclosed in single quotation
marks (‘). Arguments that represent booleans, integers, or
comparison operators (<, <=, =, !=, >, >=) are not
enclosed in single quotation marks.
Binary Operators
You can combine filters by using the binary operators AND and
OR. For example, PrefixFilter ('Row') AND PageFilter (1) AND
FirstKeyOnlyFilter () returns all key-value pairs that match the following
conditions:
-
The row containing the key-value must start with the prefix "Row".
-
The key-value must be located in the first row of the table.
-
The key-value must be the first key-value pair in the row.
For another example, (RowFilter (=, 'binary:Row 1') AND TimeStampsFilter (74689,
89734)) OR ColumnRangeFilter ('abc', true, 'xyz', false)) returns all
key-value pairs that
Match both of the following conditions:
-
The key-value is in a row for which the row key is "Row 1".
-
The key-value has a timestamp of either 74689 or 89734.
Or match this condition:
-
The key-value is located in a column that is lexicographically greater than or equal to "abc" and less than "xyz".
Unary Operators
You can also use the following unary operators with filters:
- SKIP
For a particular row, if any of the key-values don’t pass the filter condition, the entire row is skipped. For example,
SKIP ValueFilter (0)omits rows in which any values are not 0. - WHILE
Rows are tested in order against the filter condition. Rows that meed the condition are included in the result set. When a row fails to meet the condition, filter processing stops and no more rows are tested.