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 "Enis Soztutar (JIRA)" <ji...@apache.org> on 2008/01/23 15:40:34 UTC

[jira] Updated: (HADOOP-449) Generalize the SequenceFileInputFilter to apply to any InputFormat

     [ https://issues.apache.org/jira/browse/HADOOP-449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Enis Soztutar updated HADOOP-449:
---------------------------------

    Attachment: filterinputformat_v1.patch

Here is the patch to generalize the filtering capability on input records. 

The patch 
- deprecates SequenceFileInputFilter
- introduces o.a.h.io.filter package 
- refactors SequenceFileInputFilter.Filter to  o.a.h.io.filter.WritableFilter,  SequenceFileInputFilter.RegexFilter to o.a.h.io.filter.RegexFilter, .. 
- Introduces new filters DefaultFilter, ItemFilter, SetFilter, and RangeFilter. 
- Introduces FilterRecordReader which uses the provided filter on the records returned by the underlying RecordReader.  
- Introduces FilterInputFormat which is a decorator to add filtering capability. It can work with the legacy code with no change. 

> Generalize the SequenceFileInputFilter to apply to any InputFormat
> ------------------------------------------------------------------
>
>                 Key: HADOOP-449
>                 URL: https://issues.apache.org/jira/browse/HADOOP-449
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: mapred
>    Affects Versions: 0.5.0
>            Reporter: Owen O'Malley
>            Assignee: Enis Soztutar
>         Attachments: filterinputformat_v1.patch
>
>
> I'd like to generalize the SequenceFileInputFormat that was introduced in HADOOP-412 so that it can be applied to any InputFormat. To do this, I propose:
> interface WritableFilter {
>    boolean accept(Writable item);
> }
> class FilterInputFormat implements InputFormat {
>   ...
> }
> FilterInputFormat would look in the JobConf for:
>    mapred.input.filter.source = the underlying input format
>    mapred.input.filter.filters = a list of class names that implement WritableFilter
> The FilterInputFormat will work like the current SequenceFilter, but use an internal RecordReader rather than the SequenceFile. This will require adding a next(key) and getCurrentValue(value) to the RecordReader interface, but that will be addressed in a different issue.

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