public final class VariableLengthByteKeyComparator<IN>
extends org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
SortingDataInput
which compares records keys and timestamps,. It
uses binary format produced by the KeyAndValueSerializer
.
It assumes keys are of a variable length and thus expects the length of the record to be serialized.
TODO: remove this class after making the corresponding class in Flink public.
Constructor and Description |
---|
VariableLengthByteKeyComparator() |
Modifier and Type | Method and Description |
---|---|
int |
compare(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> first,
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> second) |
int |
compareSerialized(org.apache.flink.core.memory.DataInputView firstSource,
org.apache.flink.core.memory.DataInputView secondSource) |
int |
compareToReference(org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> referencedComparator) |
org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> |
duplicate() |
boolean |
equalToReference(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> candidate) |
int |
extractKeys(Object record,
Object[] target,
int index) |
org.apache.flink.api.common.typeutils.TypeComparator<?>[] |
getFlatComparators() |
int |
getNormalizeKeyLen() |
int |
hash(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record) |
boolean |
invertNormalizedKey() |
boolean |
isNormalizedKeyPrefixOnly(int keyBytes) |
void |
putNormalizedKey(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record,
org.apache.flink.core.memory.MemorySegment target,
int offset,
int numBytes) |
org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> |
readWithKeyDenormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> reuse,
org.apache.flink.core.memory.DataInputView source) |
void |
setReference(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> toCompare) |
boolean |
supportsNormalizedKey() |
boolean |
supportsSerializationWithKeyNormalization() |
void |
writeWithKeyNormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record,
org.apache.flink.core.memory.DataOutputView target) |
public int hash(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record)
hash
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public void setReference(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> toCompare)
setReference
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public boolean equalToReference(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> candidate)
equalToReference
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int compareToReference(org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>> referencedComparator)
compareToReference
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int compare(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> first, org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> second)
compare
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int compareSerialized(org.apache.flink.core.memory.DataInputView firstSource, org.apache.flink.core.memory.DataInputView secondSource) throws IOException
compareSerialized
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
IOException
public boolean supportsNormalizedKey()
supportsNormalizedKey
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int getNormalizeKeyLen()
getNormalizeKeyLen
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public boolean isNormalizedKeyPrefixOnly(int keyBytes)
isNormalizedKeyPrefixOnly
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public void putNormalizedKey(org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>> record, org.apache.flink.core.memory.MemorySegment target, int offset, int numBytes)
putNormalizedKey
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public boolean invertNormalizedKey()
invertNormalizedKey
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.common.typeutils.TypeComparator<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.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public int extractKeys(Object record, Object[] target, int index)
extractKeys
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public org.apache.flink.api.common.typeutils.TypeComparator<?>[] getFlatComparators()
getFlatComparators
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public boolean supportsSerializationWithKeyNormalization()
supportsSerializationWithKeyNormalization
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
public void writeWithKeyNormalization(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
writeWithKeyNormalization
in class org.apache.flink.api.common.typeutils.TypeComparator<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>> readWithKeyDenormalization(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
readWithKeyDenormalization
in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],org.apache.flink.streaming.runtime.streamrecord.StreamRecord<IN>>>
IOException
Copyright © 2019–2023 The Apache Software Foundation. All rights reserved.