public final class KeyAndValueSerializer<IN>
extends org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
SortingDataInput
for serializing elements alongside their key and
timestamp. It serializes the record in a format known by the FixedLengthByteKeyComparator
and VariableLengthByteKeyComparator
.
If the key is of known constant length, the length is not serialized with the data. Therefore the serialized data is as follows:
[key-length] | <key> | <timestamp> | <record>
TODO: remove this class after making the corresponding class in Flink public.
Constructor and Description |
---|
KeyAndValueSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<IN> valueSerializer,
int serializedKeyLength) |
Modifier and Type | Method and Description |
---|---|
void |
copy(org.apache.flink.core.memory.DataInputView source,
org.apache.flink.core.memory.DataOutputView target) |
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> |
copy(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> from) |
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> |
copy(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> from,
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> reuse) |
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> |
createInstance() |
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> |
deserialize(org.apache.flink.core.memory.DataInputView source) |
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> |
deserialize(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> reuse,
org.apache.flink.core.memory.DataInputView source) |
org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> |
duplicate() |
boolean |
equals(Object o) |
int |
getLength() |
int |
hashCode() |
boolean |
isImmutableType() |
void |
serialize(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record,
org.apache.flink.core.memory.DataOutputView target) |
org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> |
snapshotConfiguration() |
public KeyAndValueSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<IN> valueSerializer, int serializedKeyLength)
public boolean isImmutableType()
isImmutableType
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> duplicate()
duplicate
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> copy(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> from)
copy
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> createInstance()
createInstance
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> copy(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> from, org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> reuse)
copy
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int getLength()
getLength
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public void serialize(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record, org.apache.flink.core.memory.DataOutputView target) throws IOException
serialize
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
IOException
public org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> deserialize(org.apache.flink.core.memory.DataInputView source) throws IOException
deserialize
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
IOException
public org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> deserialize(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> reuse, org.apache.flink.core.memory.DataInputView source) throws IOException
deserialize
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
IOException
public void copy(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target) throws IOException
copy
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
IOException
public boolean equals(Object o)
equals
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int hashCode()
hashCode
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> snapshotConfiguration()
snapshotConfiguration
in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
Copyright © 2019–2023 The Apache Software Foundation. All rights reserved.