Package org.apache.hadoop.io
Interface Writable
- All Known Subinterfaces:
WritableComparable<T>
- All Known Implementing Classes:
AbstractDelegationTokenIdentifier,AbstractDelegationTokenSecretManager.DelegationTokenInformation,AbstractMapWritable,AccessControlList,ArrayPrimitiveWritable,ArrayWritable,BloomFilter,BooleanWritable,BytesWritable,ByteWritable,CompositeCrcFileChecksum,CompressedWritable,Configuration,ConfigurationWithLogging,ContentSummary,CountingBloomFilter,Credentials,DelegationKey,DelegationTokenIdentifier,DoubleWritable,DynamicBloomFilter,EnumSetWritable,EtagChecksum,FileChecksum,FileStatus,Filter,FloatWritable,FsCreateModes,FsPermission,FsServerDefaults,FsStatus,GenericWritable,IntWritable,Key,KMSDelegationToken.KMSDelegationTokenIdentifier,LocatedFileStatus,LongWritable,MapWritable,MD5Hash,MD5MD5CRC32CastagnoliFileChecksum,MD5MD5CRC32FileChecksum,MD5MD5CRC32GzipFileChecksum,NullWritable,ObjectWritable,PermissionStatus,ProtobufWrapperLegacy,ProtocolSignature,RetouchedBloomFilter,RpcWritable,RpcWritable.Buffer,SequenceFile.Metadata,ShortWritable,SortedMapWritable,Text,Token,TokenIdentifier,TwoDArrayWritable,UTF8,VersionedWritable,VIntWritable,VLongWritable
@Public
@Stable
public interface Writable
A serializable object which implements a simple, efficient, serialization
protocol, based on
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;
}
}
-
Method Summary
Modifier and TypeMethodDescriptionvoidreadFields(DataInput in) Deserialize the fields of this object fromin.voidwrite(DataOutput out) Serialize the fields of this object toout.
-
Method Details
-
write
Serialize the fields of this object toout.- Parameters:
out-DataOuputto serialize this object into.- Throws:
IOException- any other problem for write.
-
readFields
Deserialize the fields of this object fromin.For efficiency, implementations should attempt to re-use storage in the existing object where possible.
- Parameters:
in-DataInputto deseriablize this object from.- Throws:
IOException- any other problem for readFields.
-