@Internal public class BaseMapSerializer extends BaseMapSerializer
TypeSerializer
for BaseMap
. It should be noted that the header will not be
encoded. Currently Python doesn't support BinaryMap natively, so we can't use BaseArraySerializer
in blink directly.Modifier and Type | Class and Description |
---|---|
static class |
BaseMapSerializer.BaseMapSerializerSnapshot
|
Constructor and Description |
---|
BaseMapSerializer(LogicalType keyType,
LogicalType valueType,
TypeSerializer keyTypeSerializer,
TypeSerializer valueTypeSerializer) |
Modifier and Type | Method and Description |
---|---|
void |
copy(DataInputView source,
DataOutputView target)
Copies exactly one record from the source input view to the target output view.
|
BaseMap |
deserialize(BaseMap reuse,
DataInputView source)
De-serializes a record from the given source input view into the given reuse record instance if mutable.
|
BaseMap |
deserialize(DataInputView source)
De-serializes a record from the given source input view.
|
TypeSerializer<BaseMap> |
duplicate()
Creates a deep copy of this serializer if it is necessary, i.e.
|
void |
serialize(BaseMap map,
DataOutputView target)
Serializes the given record to the given target output view.
|
TypeSerializerSnapshot<BaseMap> |
snapshotConfiguration()
Snapshots the configuration of this TypeSerializer.
|
copy, copy, createInstance, equals, getKeySerializer, getLength, getValueSerializer, hashCode, isImmutableType, toBinaryMap
public BaseMapSerializer(LogicalType keyType, LogicalType valueType, TypeSerializer keyTypeSerializer, TypeSerializer valueTypeSerializer)
public void serialize(BaseMap map, DataOutputView target) throws IOException
TypeSerializer
serialize
in class BaseMapSerializer
map
- The record to serialize.target
- The output view to write the serialized data to.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.public BaseMap deserialize(DataInputView source) throws IOException
TypeSerializer
deserialize
in class BaseMapSerializer
source
- The input view from which to read the data.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.public BaseMap deserialize(BaseMap reuse, DataInputView source) throws IOException
TypeSerializer
deserialize
in class BaseMapSerializer
reuse
- The record instance into which to de-serialize the data.source
- The input view from which to read the data.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.public void copy(DataInputView source, DataOutputView target) throws IOException
TypeSerializer
target.write(source, 8);
.copy
in class BaseMapSerializer
source
- The input view from which to read the record.target
- The target output view to which to write the record.IOException
- Thrown if any of the two views raises an exception.public TypeSerializer<BaseMap> duplicate()
TypeSerializer
duplicate
in class BaseMapSerializer
public TypeSerializerSnapshot<BaseMap> snapshotConfiguration()
TypeSerializer
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.
snapshotConfiguration
in class BaseMapSerializer
null
).TypeSerializerSnapshot.resolveSchemaCompatibility(TypeSerializer)
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.