Class VariableLengthByteKeyAndValueComparator<INPUT>
- java.lang.Object
-
- org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
- org.apache.flink.streaming.api.operators.sortpartition.VariableLengthByteKeyAndValueComparator<INPUT>
-
- All Implemented Interfaces:
Serializable
@Internal public class VariableLengthByteKeyAndValueComparator<INPUT> extends org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>TheVariableLengthByteKeyAndValueComparatoris used byKeyedSortPartitionOperatorto compare records according to both the record key and record value. The length of record key must be variable and will be read fromDataInputView.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description VariableLengthByteKeyAndValueComparator(org.apache.flink.api.common.typeutils.TypeComparator<INPUT> valueComparator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> first, org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> second)intcompareSerialized(org.apache.flink.core.memory.DataInputView firstSource, org.apache.flink.core.memory.DataInputView secondSource)intcompareToReference(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()booleanequalToReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> candidate)intextractKeys(Object record, Object[] target, int index)org.apache.flink.api.common.typeutils.TypeComparator<?>[]getFlatComparators()intgetNormalizeKeyLen()inthash(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record)booleaninvertNormalizedKey()booleanisNormalizedKeyPrefixOnly(int keyBytes)voidputNormalizedKey(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)voidsetReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> toCompare)booleansupportsNormalizedKey()booleansupportsSerializationWithKeyNormalization()voidwriteWithKeyNormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record, org.apache.flink.core.memory.DataOutputView target)
-
-
-
Constructor Detail
-
VariableLengthByteKeyAndValueComparator
public VariableLengthByteKeyAndValueComparator(org.apache.flink.api.common.typeutils.TypeComparator<INPUT> valueComparator)
-
-
Method Detail
-
hash
public int hash(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record)
- Specified by:
hashin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
setReference
public void setReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> toCompare)
- Specified by:
setReferencein classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
equalToReference
public boolean equalToReference(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> candidate)
- Specified by:
equalToReferencein classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
compareToReference
public int compareToReference(org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>> referencedComparator)
- Specified by:
compareToReferencein classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
compare
public int compare(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> first, org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> second)
- Specified by:
comparein classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
compareSerialized
public int compareSerialized(org.apache.flink.core.memory.DataInputView firstSource, org.apache.flink.core.memory.DataInputView secondSource) throws IOException- Specified by:
compareSerializedin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>- Throws:
IOException
-
supportsNormalizedKey
public boolean supportsNormalizedKey()
- Specified by:
supportsNormalizedKeyin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
getNormalizeKeyLen
public int getNormalizeKeyLen()
- Specified by:
getNormalizeKeyLenin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
isNormalizedKeyPrefixOnly
public boolean isNormalizedKeyPrefixOnly(int keyBytes)
- Specified by:
isNormalizedKeyPrefixOnlyin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
putNormalizedKey
public void putNormalizedKey(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record, org.apache.flink.core.memory.MemorySegment target, int offset, int numBytes)
- Specified by:
putNormalizedKeyin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
invertNormalizedKey
public boolean invertNormalizedKey()
- Specified by:
invertNormalizedKeyin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
duplicate
public org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>> duplicate()
- Specified by:
duplicatein classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
extractKeys
public int extractKeys(Object record, Object[] target, int index)
- Specified by:
extractKeysin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
getFlatComparators
public org.apache.flink.api.common.typeutils.TypeComparator<?>[] getFlatComparators()
- Specified by:
getFlatComparatorsin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
supportsSerializationWithKeyNormalization
public boolean supportsSerializationWithKeyNormalization()
- Specified by:
supportsSerializationWithKeyNormalizationin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
writeWithKeyNormalization
public void writeWithKeyNormalization(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record, org.apache.flink.core.memory.DataOutputView target)
- Specified by:
writeWithKeyNormalizationin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
readWithKeyDenormalization
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)
- Specified by:
readWithKeyDenormalizationin classorg.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
-
-