[ 
https://issues.apache.org/jira/browse/HADOOP-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511287
 ] 

James Kennedy commented on HADOOP-1579:
---------------------------------------

Rather than extension, i recommend that you implement WhileMatchRowFilter as a 
RowFilterInterface decorator. Let it wrap any RowFilterInterface and apply the 
while-matches logic on top of it. That way it can be applied to any filter, not 
just regexp.  Basically all it has to do is make filterAllRemaining() always 
return true after it's wrapped filter returns true for any of the filter 
methods.

RowFilterInterface whileMatchRegExpFilter = new WhileMatchRowFilter(new 
RegExpRowFilter("com.google.*"));

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and 
> StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it 
> also filters rows based on whether they match a specified regex.  However, 
> unlike its parent, WhileMatchRowFilter filters everything after it's first 
> filtered row - once a row fails to match regex or column specifications, 
> filterAllRemaining() always returns true.  This type of functionality will be 
> useful when filtering for a set of adjacent rows that match a certain regex 
> (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified 
> rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in 
> alphabetical order, so once a key greater than the stopRow is encountered 
> filterAllRemaining() will return true.  StopRowFilter will be useful for 
> alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and 
> TestStopRowFilter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to