org.apache.hadoop.mapred.join
Class MultiFilterRecordReader<K extends WritableComparable,V extends Writable>

java.lang.Object
  extended by org.apache.hadoop.mapred.join.CompositeRecordReader<K,V,V>
      extended by org.apache.hadoop.mapred.join.MultiFilterRecordReader<K,V>
All Implemented Interfaces:
Comparable<ComposableRecordReader<K,?>>, Configurable, ComposableRecordReader<K,V>, RecordReader<K,V>
Direct Known Subclasses:
OverrideRecordReader

public abstract class MultiFilterRecordReader<K extends WritableComparable,V extends Writable>
extends CompositeRecordReader<K,V,V>
implements ComposableRecordReader<K,V>

Base class for Composite join returning values derived from multiple sources, but generally not tuples.


Nested Class Summary
protected  class MultiFilterRecordReader.MultiFilterDelegationIterator
          Proxy the JoinCollector, but include callback to emit.
 
Field Summary
 
Fields inherited from class org.apache.hadoop.mapred.join.CompositeRecordReader
jc, kids
 
Constructor Summary
MultiFilterRecordReader(int id, JobConf conf, int capacity, Class<? extends WritableComparator> cmpcl)
           
 
Method Summary
protected  boolean combine(Object[] srcs, TupleWritable dst)
          Default implementation offers emit(org.apache.hadoop.mapred.join.TupleWritable) every Tuple from the collector (the outer join of child RRs).
 V createValue()
          Create an object of the appropriate type to be used as a value.
protected abstract  V emit(TupleWritable dst)
          For each tuple emitted, return a value (typically one of the values in the tuple).
protected  ResetableIterator<V> getDelegate()
          Return an iterator returning a single value from the tuple.
 boolean next(K key, V value)
          Reads the next key/value pair from the input for processing.
 
Methods inherited from class org.apache.hadoop.mapred.join.CompositeRecordReader
accept, add, close, compareTo, createInternalValue, createKey, fillJoinCollector, getComparator, getConf, getPos, getProgress, getRecordReaderQueue, hasNext, id, key, key, setConf, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.hadoop.mapred.join.ComposableRecordReader
accept, hasNext, id, key, key, skip
 
Methods inherited from interface org.apache.hadoop.mapred.RecordReader
close, createKey, getPos, getProgress
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

MultiFilterRecordReader

public MultiFilterRecordReader(int id,
                               JobConf conf,
                               int capacity,
                               Class<? extends WritableComparator> cmpcl)
                        throws IOException
Throws:
IOException
Method Detail

emit

protected abstract V emit(TupleWritable dst)
                                    throws IOException
For each tuple emitted, return a value (typically one of the values in the tuple). Modifying the Writables in the tuple is permitted and unlikely to affect join behavior in most cases, but it is not recommended. It's safer to clone first.

Throws:
IOException

combine

protected boolean combine(Object[] srcs,
                          TupleWritable dst)
Default implementation offers emit(org.apache.hadoop.mapred.join.TupleWritable) every Tuple from the collector (the outer join of child RRs).

Specified by:
combine in class CompositeRecordReader<K extends WritableComparable,V extends Writable,V extends Writable>

next

public boolean next(K key,
                    V value)
             throws IOException
Reads the next key/value pair from the input for processing.

Specified by:
next in interface RecordReader<K extends WritableComparable,V extends Writable>
Parameters:
key - the key to read data into
value - the value to read data into
Returns:
true iff a key/value was read, false if at EOF
Throws:
IOException

createValue

public V createValue()
Create an object of the appropriate type to be used as a value.

Specified by:
createValue in interface RecordReader<K extends WritableComparable,V extends Writable>
Returns:
a new value object.

getDelegate

protected ResetableIterator<V> getDelegate()
Return an iterator returning a single value from the tuple.

Specified by:
getDelegate in class CompositeRecordReader<K extends WritableComparable,V extends Writable,V extends Writable>
See Also:
MultiFilterRecordReader.MultiFilterDelegationIterator


Copyright © 2009 The Apache Software Foundation