@InterfaceAudience.Public
@InterfaceStability.Stable
public interface Writable
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; // Default constructor to allow (de)serialization MyWritable() { } 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(DataInput in)
Deserialize the fields of this object from
in . |
void |
write(DataOutput out)
Serialize the fields of this object to
out . |
void write(DataOutput out) throws IOException
out
.out
- DataOuput
to serialize this object into.IOException
- any other problem for write.void readFields(DataInput in) throws IOException
in
.
For efficiency, implementations should attempt to re-use storage in the existing object where possible.
in
- DataInput
to deseriablize this object from.IOException
- any other problem for readFields.Copyright © 2023 Apache Software Foundation. All rights reserved.