org.apache.hadoop.mapred.join
Class JoinRecordReader<K extends WritableComparable>

java.lang.Object
  extended by org.apache.hadoop.mapred.join.CompositeRecordReader<K,Writable,TupleWritable>
      extended by org.apache.hadoop.mapred.join.JoinRecordReader<K>
All Implemented Interfaces:
Comparable<ComposableRecordReader<K,?>>, Configurable, ComposableRecordReader<K,TupleWritable>, RecordReader<K,TupleWritable>
Direct Known Subclasses:
InnerJoinRecordReader, OuterJoinRecordReader

public abstract class JoinRecordReader<K extends WritableComparable>
extends CompositeRecordReader<K,Writable,TupleWritable>
implements ComposableRecordReader<K,TupleWritable>

Base class for Composite joins returning Tuples of arbitrary Writables.


Nested Class Summary
protected  class JoinRecordReader.JoinDelegationIterator
          Since the JoinCollector is effecting our operation, we need only provide an iterator proxy wrapping its operation.
 
Field Summary
 
Fields inherited from class org.apache.hadoop.mapred.join.CompositeRecordReader
jc, kids
 
Constructor Summary
JoinRecordReader(int id, JobConf conf, int capacity, Class<? extends WritableComparator> cmpcl)
           
 
Method Summary
 TupleWritable createValue()
          Create an object of the appropriate type to be used as a value.
protected  ResetableIterator<TupleWritable> getDelegate()
          Return an iterator wrapping the JoinCollector.
 boolean next(K key, TupleWritable value)
          Emit the next set of key, value pairs as defined by the child RecordReaders and operation associated with this composite RR.
 
Methods inherited from class org.apache.hadoop.mapred.join.CompositeRecordReader
accept, add, close, combine, 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

JoinRecordReader

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

next

public boolean next(K key,
                    TupleWritable value)
             throws IOException
Emit the next set of key, value pairs as defined by the child RecordReaders and operation associated with this composite RR.

Specified by:
next in interface RecordReader<K extends WritableComparable,TupleWritable>
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 TupleWritable createValue()
Create an object of the appropriate type to be used as a value.

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

getDelegate

protected ResetableIterator<TupleWritable> getDelegate()
Return an iterator wrapping the JoinCollector.

Specified by:
getDelegate in class CompositeRecordReader<K extends WritableComparable,Writable,TupleWritable>


Copyright © 2009 The Apache Software Foundation