Class DoublePrimitiveArraySerializer
- java.lang.Object
-
- org.apache.flink.api.common.typeutils.TypeSerializer<T>
-
- org.apache.flink.api.common.typeutils.base.TypeSerializerSingleton<double[]>
-
- org.apache.flink.api.common.typeutils.base.array.DoublePrimitiveArraySerializer
-
- All Implemented Interfaces:
Serializable
@Internal public final class DoublePrimitiveArraySerializer extends TypeSerializerSingleton<double[]>
A serializer for double arrays.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDoublePrimitiveArraySerializer.DoublePrimitiveArraySerializerSnapshotSerializer configuration snapshot for compatibility and format evolution.
-
Field Summary
Fields Modifier and Type Field Description static DoublePrimitiveArraySerializerINSTANCE
-
Constructor Summary
Constructors Constructor Description DoublePrimitiveArraySerializer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]copy(double[] from)Creates a deep copy of the given element in a new element.double[]copy(double[] from, double[] reuse)Creates a copy from the given element.voidcopy(DataInputView source, DataOutputView target)Copies exactly one record from the source input view to the target output view.double[]createInstance()Creates a new instance of the data type.double[]deserialize(double[] reuse, DataInputView source)De-serializes a record from the given source input view into the given reuse record instance if mutable.double[]deserialize(DataInputView source)De-serializes a record from the given source input view.intgetLength()Gets the length of the data type, if it is a fix length data type.booleanisImmutableType()Gets whether the type is an immutable type.voidserialize(double[] record, DataOutputView target)Serializes the given record to the given target output view.TypeSerializerSnapshot<double[]>snapshotConfiguration()Snapshots the configuration of this TypeSerializer.-
Methods inherited from class org.apache.flink.api.common.typeutils.base.TypeSerializerSingleton
duplicate, equals, hashCode
-
-
-
-
Field Detail
-
INSTANCE
public static final DoublePrimitiveArraySerializer INSTANCE
-
-
Method Detail
-
isImmutableType
public boolean isImmutableType()
Description copied from class:TypeSerializerGets whether the type is an immutable type.- Specified by:
isImmutableTypein classTypeSerializer<double[]>- Returns:
- True, if the type is immutable.
-
createInstance
public double[] createInstance()
Description copied from class:TypeSerializerCreates a new instance of the data type.- Specified by:
createInstancein classTypeSerializer<double[]>- Returns:
- A new instance of the data type.
-
copy
public double[] copy(double[] from)
Description copied from class:TypeSerializerCreates a deep copy of the given element in a new element.- Specified by:
copyin classTypeSerializer<double[]>- Parameters:
from- The element reuse be copied.- Returns:
- A deep copy of the element.
-
copy
public double[] copy(double[] from, double[] reuse)Description copied from class:TypeSerializerCreates a copy from the given element. The method makes an attempt to store the copy in the given reuse element, if the type is mutable. This is, however, not guaranteed.- Specified by:
copyin classTypeSerializer<double[]>- Parameters:
from- The element to be copied.reuse- The element to be reused. May or may not be used.- Returns:
- A deep copy of the element.
-
getLength
public int getLength()
Description copied from class:TypeSerializerGets the length of the data type, if it is a fix length data type.- Specified by:
getLengthin classTypeSerializer<double[]>- Returns:
- The length of the data type, or
-1for variable length data types.
-
serialize
public void serialize(double[] record, DataOutputView target) throws IOExceptionDescription copied from class:TypeSerializerSerializes the given record to the given target output view.- Specified by:
serializein classTypeSerializer<double[]>- Parameters:
record- The record to serialize.target- The output view to write the serialized data to.- Throws:
IOException- Thrown, if the serialization encountered an I/O related error. Typically raised by the output view, which may have an underlying I/O channel to which it delegates.
-
deserialize
public double[] deserialize(DataInputView source) throws IOException
Description copied from class:TypeSerializerDe-serializes a record from the given source input view.- Specified by:
deserializein classTypeSerializer<double[]>- Parameters:
source- The input view from which to read the data.- Returns:
- The deserialized element.
- Throws:
IOException- Thrown, if the de-serialization encountered an I/O related error. Typically raised by the input view, which may have an underlying I/O channel from which it reads.
-
deserialize
public double[] deserialize(double[] reuse, DataInputView source) throws IOExceptionDescription copied from class:TypeSerializerDe-serializes a record from the given source input view into the given reuse record instance if mutable.- Specified by:
deserializein classTypeSerializer<double[]>- Parameters:
reuse- The record instance into which to de-serialize the data.source- The input view from which to read the data.- Returns:
- The deserialized element.
- Throws:
IOException- Thrown, if the de-serialization encountered an I/O related error. Typically raised by the input view, which may have an underlying I/O channel from which it reads.
-
copy
public void copy(DataInputView source, DataOutputView target) throws IOException
Description copied from class:TypeSerializerCopies exactly one record from the source input view to the target output view. Whether this operation works on binary data or partially de-serializes the record to determine its length (such as for records of variable length) is up to the implementer. Binary copies are typically faster. A copy of a record containing two integer numbers (8 bytes total) is most efficiently implemented astarget.write(source, 8);.- Specified by:
copyin classTypeSerializer<double[]>- Parameters:
source- The input view from which to read the record.target- The target output view to which to write the record.- Throws:
IOException- Thrown if any of the two views raises an exception.
-
snapshotConfiguration
public TypeSerializerSnapshot<double[]> snapshotConfiguration()
Description copied from class:TypeSerializerSnapshots the configuration of this TypeSerializer. This method is only relevant if the serializer is used to state stored in checkpoints/savepoints.The snapshot of the TypeSerializer is supposed to contain all information that affects the serialization format of the serializer. The snapshot serves two purposes: First, to reproduce the serializer when the checkpoint/savepoint is restored, and second, to check whether the serialization format is compatible with the serializer used in the restored program.
IMPORTANT: TypeSerializerSnapshots changed after Flink 1.6. Serializers implemented against Flink versions up to 1.6 should still work, but adjust to new model to enable state evolution and be future-proof. See the class-level comments, section "Upgrading TypeSerializers to the new TypeSerializerSnapshot model" for details.
- Specified by:
snapshotConfigurationin classTypeSerializer<double[]>- Returns:
- snapshot of the serializer's current configuration (cannot be
null). - See Also:
TypeSerializerSnapshot.resolveSchemaCompatibility(TypeSerializer)
-
-