@Internal
public class VariableLengthByteKeyAndValueComparator<INPUT>
extends org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
VariableLengthByteKeyAndValueComparator is used by KeyedSortPartitionOperator
to compare records according to both the record key and record value. The length of record key
must be variable and will be read from DataInputView.| Constructor and Description |
|---|
VariableLengthByteKeyAndValueComparator(org.apache.flink.api.common.typeutils.TypeComparator<INPUT> valueComparator) |
| Modifier and Type | Method and Description |
|---|---|
int |
compare(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> first,
org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> 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[],INPUT>> referencedComparator) |
org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>> |
duplicate() |
boolean |
equalToReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> 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[],INPUT> record) |
boolean |
invertNormalizedKey() |
boolean |
isNormalizedKeyPrefixOnly(int keyBytes) |
void |
putNormalizedKey(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record,
org.apache.flink.core.memory.MemorySegment target,
int offset,
int numBytes) |
org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> |
readWithKeyDenormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> reuse,
org.apache.flink.core.memory.DataInputView source) |
void |
setReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> toCompare) |
boolean |
supportsNormalizedKey() |
boolean |
supportsSerializationWithKeyNormalization() |
void |
writeWithKeyNormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record,
org.apache.flink.core.memory.DataOutputView target) |
public VariableLengthByteKeyAndValueComparator(org.apache.flink.api.common.typeutils.TypeComparator<INPUT> valueComparator)
public int hash(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record)
hash in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public void setReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> toCompare)
setReference in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public boolean equalToReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> candidate)
equalToReference in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public int compareToReference(org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>> referencedComparator)
compareToReference in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public int compare(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> first, org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> second)
compare in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>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[],INPUT>>IOExceptionpublic boolean supportsNormalizedKey()
supportsNormalizedKey in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public int getNormalizeKeyLen()
getNormalizeKeyLen in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public boolean isNormalizedKeyPrefixOnly(int keyBytes)
isNormalizedKeyPrefixOnly in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public void putNormalizedKey(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> 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[],INPUT>>public boolean invertNormalizedKey()
invertNormalizedKey in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>> duplicate()
duplicate in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>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[],INPUT>>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[],INPUT>>public boolean supportsSerializationWithKeyNormalization()
supportsSerializationWithKeyNormalization in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public void writeWithKeyNormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record, org.apache.flink.core.memory.DataOutputView target)
writeWithKeyNormalization in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>public org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> readWithKeyDenormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> reuse, org.apache.flink.core.memory.DataInputView source)
readWithKeyDenormalization in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>Copyright © 2014–2025 The Apache Software Foundation. All rights reserved.