Package org.apache.avro.hadoop.io

# Class AvroKeyValue<K,V>

java.lang.Object
org.apache.avro.hadoop.io.AvroKeyValue<K,V>

Type Parameters:
  `K` - The java type for the key.
  `V` - The java type for the value.

public class AvroKeyValue<K,V> extends Object
A helper object for working with the Avro generic records that are used to store key/value pairs in an Avro container file.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`AvroKeyValue.Iterator<K,V>`
A wrapper for iterators over GenericRecords that are known to be KeyValue records.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`KEY_FIELD`
The name of the generic record field containing the key.
`static final String`
`KEY_VALUE_PAIR_RECORD_NAME`
The name of the key value pair generic record.
`static final String`
`KEY_VALUE_PAIR_RECORD_NAMESPACE`
The namespace of the key value pair generic record.
`static final String`
`VALUE_FIELD`
The name of the generic record field containing the value.

## Constructor Summary

Constructors
Constructor
Description
`AvroKeyValue(org.apache.avro.generic.GenericRecord keyValueRecord)`
Wraps a GenericRecord that is a key value pair.

## Method Summary

Modifier and Type
Method
Description
`org.apache.avro.generic.GenericRecord`
`get()`
Gets the wrapped key/value GenericRecord.
`K`
`getKey()`
Read the key.
`static org.apache.avro.Schema`
`getSchema(org.apache.avro.Schema keySchema, org.apache.avro.Schema valueSchema)`
Creates a KeyValuePair generic record schema.
`V`
`getValue()`
Read the value.
`void`
`setKey(K key)`
Sets the key.
`void`
`setValue(V value)`
Sets the value.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### KEY_VALUE_PAIR_RECORD_NAME

public static final String KEY_VALUE_PAIR_RECORD_NAME
The name of the key value pair generic record.

See Also:
  - Constant Field Values

### KEY_VALUE_PAIR_RECORD_NAMESPACE

public static final String KEY_VALUE_PAIR_RECORD_NAMESPACE
The namespace of the key value pair generic record.

See Also:
  - Constant Field Values

### KEY_FIELD

public static final String KEY_FIELD
The name of the generic record field containing the key.

See Also:
  - Constant Field Values

### VALUE_FIELD

public static final String VALUE_FIELD
The name of the generic record field containing the value.

See Also:
  - Constant Field Values

## Constructor Details

### AvroKeyValue

public AvroKeyValue(org.apache.avro.generic.GenericRecord keyValueRecord)
Wraps a GenericRecord that is a key value pair.

## Method Details

### get

public org.apache.avro.generic.GenericRecord get()
Gets the wrapped key/value GenericRecord.

Returns:
  The key/value Avro generic record.

### getKey

public K getKey()
Read the key.

Returns:
  The key from the key/value generic record.

### getValue

public V getValue()
Read the value.

Returns:
  The value from the key/value generic record.

### setKey

public void setKey(K key)
Sets the key.

Parameters:
  `key` - The key.

### setValue

public void setValue(V value)
Sets the value.

Parameters:
  `value` - The value.

### getSchema

public static org.apache.avro.Schema getSchema(org.apache.avro.Schema keySchema, org.apache.avro.Schema valueSchema)
Creates a KeyValuePair generic record schema.

Returns:
  A schema for a generic record with two fields: 'key' and 'value'.