Class FixedLengthByteKeyAndValueComparator<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.FixedLengthByteKeyAndValueComparator<INPUT>
All Implemented Interfaces:
Serializable

@Internal public class FixedLengthByteKeyAndValueComparator<INPUT> extends org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
The FixedLengthByteKeyAndValueComparator is used by KeyedSortPartitionOperator to compare records according to both the record key and record value. The length of record key must be fixed and will be initialized when the FixedLengthByteKeyAndValueComparator is created.
See Also:
  • Method Details

    • hash

      public int hash(org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT> record)
      Specified by:
      hash in class org.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:
      setReference in class org.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:
      equalToReference in class org.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:
      compareToReference in class org.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:
      compare in class org.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:
      compareSerialized in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
      Throws:
      IOException
    • supportsNormalizedKey

      public boolean supportsNormalizedKey()
      Specified by:
      supportsNormalizedKey in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
    • getNormalizeKeyLen

      public int getNormalizeKeyLen()
      Specified by:
      getNormalizeKeyLen in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
    • isNormalizedKeyPrefixOnly

      public boolean isNormalizedKeyPrefixOnly(int keyBytes)
      Specified by:
      isNormalizedKeyPrefixOnly in class org.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:
      putNormalizedKey in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
    • invertNormalizedKey

      public boolean invertNormalizedKey()
      Specified by:
      invertNormalizedKey in class org.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:
      duplicate in class org.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:
      extractKeys in class org.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:
      getFlatComparators in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>
    • supportsSerializationWithKeyNormalization

      public boolean supportsSerializationWithKeyNormalization()
      Specified by:
      supportsSerializationWithKeyNormalization in class org.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:
      writeWithKeyNormalization in class org.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:
      readWithKeyDenormalization in class org.apache.flink.api.common.typeutils.TypeComparator<org.apache.flink.api.java.tuple.Tuple2<byte[],INPUT>>