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