## org.apache.hadoop.mapred
Class KeyValueLineRecordReader

    java.lang.Object
      org.apache.hadoop.mapred.KeyValueLineRecordReader

All Implemented Interfaces:
  RecordReader<Text,Text>

    public class KeyValueLineRecordReader

extends Object
implements RecordReader<Text,Text>

This class treats a line in the input as a key/value pair separated by a separator character. The separator can be specified in config file under the attribute name key.value.separator.in.input.line. The default separator is the tab character ('\t').

Constructor Summary
`KeyValueLineRecordReader(Configuration job, FileSplit split)`

Method Summary
`void` `close()` Close this `InputSplit` to future operations.
`Text` `createKey()` Create an object of the appropriate type to be used as a key.
`Text` `createValue()` Create an object of the appropriate type to be used as a value.
`static int` `findSeparator(byte[] utf, int start, int length, byte sep)`
`Class` `getKeyClass()`
`long` `getPos()` Returns the current position in the input.
`float` `getProgress()` How much of the input has the `RecordReader` consumed i.e.
`boolean` `next(Text key, Text value)` Read key/value pair in a line.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### KeyValueLineRecordReader

    public KeyValueLineRecordReader(Configuration job,
                                    FileSplit split)
                             throws IOException

Throws:
  `IOException`

Method Detail

### getKeyClass

    public Class getKeyClass()

### createKey

    public Text createKey()

  Description copied from interface: `RecordReader`
  Create an object of the appropriate type to be used as a key.

  Specified by:
    `createKey` in interface `RecordReader<Text,Text>`
  Returns:
    a new key object.

### createValue

    public Text createValue()

  Description copied from interface: `RecordReader`
  Create an object of the appropriate type to be used as a value.

  Specified by:
    `createValue` in interface `RecordReader<Text,Text>`
  Returns:
    a new value object.

### findSeparator

    public static int findSeparator(byte[] utf,
                                    int start,
                                    int length,
                                    byte sep)

### next

    public boolean next(Text key,
                        Text value)
                 throws IOException

  Read key/value pair in a line.

  Specified by:
    `next` in interface `RecordReader<Text,Text>`
  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`

### getProgress

    public float getProgress()

  Description copied from interface: `RecordReader`
  How much of the input has the `RecordReader` consumed i.e. has been processed by?

  Specified by:
    `getProgress` in interface `RecordReader<Text,Text>`
  Returns:
    progress from `0.0` to `1.0`.

### getPos

    public long getPos()
                throws IOException

  Description copied from interface: `RecordReader`
  Returns the current position in the input.

  Specified by:
    `getPos` in interface `RecordReader<Text,Text>`
  Returns:
    the current position in the input.
  Throws:
    `IOException`

### close

    public void close()
               throws IOException

  Description copied from interface: `RecordReader`
  Close this `InputSplit` to future operations.

  Specified by:
    `close` in interface `RecordReader<Text,Text>`
  Throws:
    `IOException`

Copyright © 2009 The Apache Software Foundation