Class RowSerializer.RowSerializerSnapshot
- java.lang.Object
-
- org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot<Row,RowSerializer>
-
- org.apache.flink.api.java.typeutils.runtime.RowSerializer.RowSerializerSnapshot
-
- All Implemented Interfaces:
TypeSerializerSnapshot<Row>
- Enclosing class:
- RowSerializer
public static final class RowSerializer.RowSerializerSnapshot extends CompositeTypeSerializerSnapshot<Row,RowSerializer>
ATypeSerializerSnapshot
for RowSerializer.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot
CompositeTypeSerializerSnapshot.OuterSchemaCompatibility
-
-
Constructor Summary
Constructors Constructor Description RowSerializerSnapshot()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected RowSerializer
createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)
Creates an instance of the outer serializer with a given array of its nested serializers.protected int
getCurrentOuterSnapshotVersion()
Returns the version of the current outer snapshot's written binary format.protected TypeSerializer<?>[]
getNestedSerializers(RowSerializer outerSerializer)
Gets the nested serializers from the outer serializer.protected void
readOuterSnapshot(int readOuterSnapshotVersion, DataInputView in, ClassLoader userCodeClassLoader)
Reads the outer snapshot, i.e. any information beyond the nested serializers of the outer serializer.protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibility
resolveOuterSchemaCompatibility(TypeSerializerSnapshot<Row> oldSerializerSnapshot)
Checks the schema compatibility of the given old serializer snapshot based on the outer snapshot.protected void
writeOuterSnapshot(DataOutputView out)
Writes the outer snapshot, i.e. any information beyond the nested serializers of the outer serializer.-
Methods inherited from class org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot
getCurrentVersion, getNestedSerializerSnapshots, isOuterSnapshotCompatible, readSnapshot, resolveOuterSchemaCompatibility, resolveSchemaCompatibility, restoreSerializer, writeSnapshot
-
-
-
-
Method Detail
-
getCurrentOuterSnapshotVersion
protected int getCurrentOuterSnapshotVersion()
Description copied from class:CompositeTypeSerializerSnapshot
Returns the version of the current outer snapshot's written binary format.- Specified by:
getCurrentOuterSnapshotVersion
in classCompositeTypeSerializerSnapshot<Row,RowSerializer>
- Returns:
- the version of the current outer snapshot's written binary format.
-
readOuterSnapshot
protected void readOuterSnapshot(int readOuterSnapshotVersion, DataInputView in, ClassLoader userCodeClassLoader) throws IOException
Description copied from class:CompositeTypeSerializerSnapshot
Reads the outer snapshot, i.e. any information beyond the nested serializers of the outer serializer.The base implementation of this methods reads nothing, i.e. it assumes that the outer serializer only has nested serializers and no extra information. Otherwise, if the outer serializer contains some extra information that has been persisted as part of the serializer snapshot, this must be overridden. Note that this method and the corresponding methods
CompositeTypeSerializerSnapshot.writeOuterSnapshot(DataOutputView)
,CompositeTypeSerializerSnapshot.resolveOuterSchemaCompatibility(TypeSerializerSnapshot)
needs to be implemented.- Overrides:
readOuterSnapshot
in classCompositeTypeSerializerSnapshot<Row,RowSerializer>
- Parameters:
readOuterSnapshotVersion
- the read version of the outer snapshot.in
- theDataInputView
to read the outer snapshot from.userCodeClassLoader
- the user code class loader.- Throws:
IOException
-
writeOuterSnapshot
protected void writeOuterSnapshot(DataOutputView out) throws IOException
Description copied from class:CompositeTypeSerializerSnapshot
Writes the outer snapshot, i.e. any information beyond the nested serializers of the outer serializer.The base implementation of this methods writes nothing, i.e. it assumes that the outer serializer only has nested serializers and no extra information. Otherwise, if the outer serializer contains some extra information that needs to be persisted as part of the serializer snapshot, this must be overridden. Note that this method and the corresponding methods
CompositeTypeSerializerSnapshot.readOuterSnapshot(int, DataInputView, ClassLoader)
,CompositeTypeSerializerSnapshot.resolveOuterSchemaCompatibility(TypeSerializerSnapshot)
needs to be implemented.- Overrides:
writeOuterSnapshot
in classCompositeTypeSerializerSnapshot<Row,RowSerializer>
- Parameters:
out
- theDataOutputView
to write the outer snapshot to.- Throws:
IOException
-
resolveOuterSchemaCompatibility
protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibility resolveOuterSchemaCompatibility(TypeSerializerSnapshot<Row> oldSerializerSnapshot)
Description copied from class:CompositeTypeSerializerSnapshot
Checks the schema compatibility of the given old serializer snapshot based on the outer snapshot.The base implementation of this method assumes that the outer serializer only has nested serializers and no extra information, and therefore the result of the check is
CompositeTypeSerializerSnapshot.OuterSchemaCompatibility.COMPATIBLE_AS_IS
. Otherwise, if the outer serializer contains some extra information that has been persisted as part of the serializer snapshot, this must be overridden. Note that this method and the corresponding methodsCompositeTypeSerializerSnapshot.writeOuterSnapshot(DataOutputView)
,CompositeTypeSerializerSnapshot.readOuterSnapshot(int, DataInputView, ClassLoader)
needs to be implemented.- Overrides:
resolveOuterSchemaCompatibility
in classCompositeTypeSerializerSnapshot<Row,RowSerializer>
- Parameters:
oldSerializerSnapshot
- the old serializer snapshot, which contains the old outer information to check against.- Returns:
- a
CompositeTypeSerializerSnapshot.OuterSchemaCompatibility
indicating whether the new serializer's outer information is compatible, requires migration, or incompatible with the one written in this snapshot.
-
getNestedSerializers
protected TypeSerializer<?>[] getNestedSerializers(RowSerializer outerSerializer)
Description copied from class:CompositeTypeSerializerSnapshot
Gets the nested serializers from the outer serializer.- Specified by:
getNestedSerializers
in classCompositeTypeSerializerSnapshot<Row,RowSerializer>
- Parameters:
outerSerializer
- the outer serializer.- Returns:
- the nested serializers.
-
createOuterSerializerWithNestedSerializers
protected RowSerializer createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)
Description copied from class:CompositeTypeSerializerSnapshot
Creates an instance of the outer serializer with a given array of its nested serializers.- Specified by:
createOuterSerializerWithNestedSerializers
in classCompositeTypeSerializerSnapshot<Row,RowSerializer>
- Parameters:
nestedSerializers
- array of nested serializers to create the outer serializer with.- Returns:
- an instance of the outer serializer.
-
-