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>
ATypeSerializerSnapshotfor 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 RowSerializercreateOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)Creates an instance of the outer serializer with a given array of its nested serializers.protected intgetCurrentOuterSnapshotVersion()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 voidreadOuterSnapshot(int readOuterSnapshotVersion, DataInputView in, ClassLoader userCodeClassLoader)Reads the outer snapshot, i.e.protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibilityresolveOuterSchemaCompatibility(TypeSerializerSnapshot<Row> oldSerializerSnapshot)Checks the schema compatibility of the given old serializer snapshot based on the outer snapshot.protected voidwriteOuterSnapshot(DataOutputView out)Writes the outer snapshot, i.e.-
Methods inherited from class org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot
getCurrentVersion, getNestedSerializerSnapshots, isOuterSnapshotCompatible, readSnapshot, resolveOuterSchemaCompatibility, resolveSchemaCompatibility, restoreSerializer, writeSnapshot
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.api.common.typeutils.TypeSerializerSnapshot
resolveSchemaCompatibility
-
-
-
-
Method Detail
-
getCurrentOuterSnapshotVersion
protected int getCurrentOuterSnapshotVersion()
Description copied from class:CompositeTypeSerializerSnapshotReturns the version of the current outer snapshot's written binary format.- Specified by:
getCurrentOuterSnapshotVersionin 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 IOExceptionDescription copied from class:CompositeTypeSerializerSnapshotReads 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:
readOuterSnapshotin classCompositeTypeSerializerSnapshot<Row,RowSerializer>- Parameters:
readOuterSnapshotVersion- the read version of the outer snapshot.in- theDataInputViewto 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:CompositeTypeSerializerSnapshotWrites 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:
writeOuterSnapshotin classCompositeTypeSerializerSnapshot<Row,RowSerializer>- Parameters:
out- theDataOutputViewto write the outer snapshot to.- Throws:
IOException
-
resolveOuterSchemaCompatibility
protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibility resolveOuterSchemaCompatibility(TypeSerializerSnapshot<Row> oldSerializerSnapshot)
Description copied from class:CompositeTypeSerializerSnapshotChecks 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:
resolveOuterSchemaCompatibilityin classCompositeTypeSerializerSnapshot<Row,RowSerializer>- Parameters:
oldSerializerSnapshot- the old serializer snapshot, which contains the old outer information to check against.- Returns:
- a
CompositeTypeSerializerSnapshot.OuterSchemaCompatibilityindicating 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:CompositeTypeSerializerSnapshotGets the nested serializers from the outer serializer.- Specified by:
getNestedSerializersin classCompositeTypeSerializerSnapshot<Row,RowSerializer>- Parameters:
outerSerializer- the outer serializer.- Returns:
- the nested serializers.
-
createOuterSerializerWithNestedSerializers
protected RowSerializer createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)
Description copied from class:CompositeTypeSerializerSnapshotCreates an instance of the outer serializer with a given array of its nested serializers.- Specified by:
createOuterSerializerWithNestedSerializersin classCompositeTypeSerializerSnapshot<Row,RowSerializer>- Parameters:
nestedSerializers- array of nested serializers to create the outer serializer with.- Returns:
- an instance of the outer serializer.
-
-