You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "James Kennedy (JIRA)" <ji...@apache.org> on 2007/07/10 01:25:04 UTC

[jira] Commented: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

    [ 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.