@InterfaceAudience.Private @InterfaceStability.Unstable public abstract class PersistentCommitData<T extends PersistentCommitData> extends Object implements Serializable, org.apache.hadoop.fs.statistics.IOStatisticsSource
AbstractManifestData
is a fork
of this; the Success data JSON format must stay compatibleModifier and Type | Field and Description |
---|---|
static int |
VERSION
Supported version value: 2.
|
Constructor and Description |
---|
PersistentCommitData() |
Modifier and Type | Method and Description |
---|---|
static <T extends PersistentCommitData> |
load(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.FileStatus status,
org.apache.hadoop.util.JsonSerialization<T> serializer)
Load an instance from a status, then validate it.
|
abstract org.apache.hadoop.fs.statistics.IOStatistics |
save(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path path,
org.apache.hadoop.util.JsonSerialization<T> serializer)
Save to a hadoop filesystem.
|
static <T extends PersistentCommitData> |
saveFile(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path path,
T instance,
org.apache.hadoop.util.JsonSerialization<T> serializer,
boolean performance)
Save to a file.
|
static <T extends PersistentCommitData> |
saveToStream(org.apache.hadoop.fs.Path path,
T instance,
org.apache.hadoop.fs.FSDataOutputStreamBuilder builder,
org.apache.hadoop.util.JsonSerialization<T> serializer)
Save to a file.
|
abstract byte[] |
toBytes(org.apache.hadoop.util.JsonSerialization<T> serializer)
Serialize to JSON and then to a byte array, after performing a
preflight validation of the data to be saved.
|
abstract void |
validate()
Validate the data: those fields which must be non empty, must be set.
|
public static final int VERSION
serialVersionUID
will change,
to avoid deserialization problems.public abstract void validate() throws ValidationFailure
ValidationFailure
- if the data is invalidpublic abstract byte[] toBytes(org.apache.hadoop.util.JsonSerialization<T> serializer) throws IOException
serializer
- serializer to useIOException
- serialization problem or validation failure.public abstract org.apache.hadoop.fs.statistics.IOStatistics save(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path path, org.apache.hadoop.util.JsonSerialization<T> serializer) throws IOException
fs
- filesystempath
- pathserializer
- serializer to useIOException
- IO exceptionpublic static <T extends PersistentCommitData> T load(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.FileStatus status, org.apache.hadoop.util.JsonSerialization<T> serializer) throws IOException
T
- type of persistent formatfs
- filesystemstatus
- status of file to loadserializer
- serializer to useIOException
- IO failureValidationFailure
- if the data is invalidpublic static <T extends PersistentCommitData> org.apache.hadoop.fs.statistics.IOStatistics saveFile(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path path, T instance, org.apache.hadoop.util.JsonSerialization<T> serializer, boolean performance) throws IOException
T
- type of persistent formatfs
- filesystempath
- path to save toinstance
- data to saveserializer
- serializer to useperformance
- skip all safety check on the writeIOException
- IO failurepublic static <T extends PersistentCommitData> org.apache.hadoop.fs.statistics.IOStatistics saveToStream(org.apache.hadoop.fs.Path path, T instance, org.apache.hadoop.fs.FSDataOutputStreamBuilder builder, org.apache.hadoop.util.JsonSerialization<T> serializer) throws IOException
T
- type of persistent formatpath
- path to save to (used for logging)instance
- data to savebuilder
- builder already prepared for the writeserializer
- serializer to useIOException
- IO failureCopyright © 2008–2024 Apache Software Foundation. All rights reserved.