public interface Writable
extends java.io.Serializable
DataInput
and DataOutput
.
Any key
or value
type in the Hadoop Map-Reduce
framework implements this interface.
Implementations typically implement a static read(DataInput)
method which constructs a new instance, calls readFields(DataInput)
and returns the instance.
Example:
public class MyWritable implements Writable { // Some data private int counter; private long timestamp; public void write(DataOutput out) throws IOException { out.writeInt(counter); out.writeLong(timestamp); } public void readFields(DataInput in) throws IOException { counter = in.readInt(); timestamp = in.readLong(); } public static MyWritable read(DataInput in) throws IOException { MyWritable w = new MyWritable(); w.readFields(in); return w; } }
Modifier and Type | Method and Description |
---|---|
void |
readFields(java.io.DataInput in)
Deserialize the fields of this object from
in . |
double |
toDouble()
Convert Writable to double.
|
float |
toFloat()
Convert Writable to float.
|
int |
toInt()
Convert Writable to int.
|
long |
toLong()
Convert Writable to long.
|
void |
write(java.io.DataOutput out)
Serialize the fields of this object to
out . |
void write(java.io.DataOutput out) throws java.io.IOException
out
.out
- DataOuput
to serialize this object into.java.io.IOException
void readFields(java.io.DataInput in) throws java.io.IOException
in
.
For efficiency, implementations should attempt to re-use storage in the existing object where possible.
in
- DataInput
to deseriablize this object from.java.io.IOException
double toDouble()
float toFloat()
int toInt()
long toLong()