Class BigDecSerializer

  • All Implemented Interfaces:
    Serializable

    @Internal
    public class BigDecSerializer
    extends org.apache.flink.api.common.typeutils.base.TypeSerializerSingleton<BigDecimal>
    We create the BigDecSerializer instead of using the BigDecSerializer of flink-core module for performance reasons in Python deserialization.
    See Also:
    Serialized Form
    • Constructor Detail

      • BigDecSerializer

        public BigDecSerializer()
    • Method Detail

      • isImmutableType

        public boolean isImmutableType()
        Specified by:
        isImmutableType in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
      • createInstance

        public BigDecimal createInstance()
        Specified by:
        createInstance in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
      • getLength

        public int getLength()
        Specified by:
        getLength in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
      • serialize

        public void serialize​(BigDecimal record,
                              org.apache.flink.core.memory.DataOutputView target)
                       throws IOException
        Specified by:
        serialize in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
        Throws:
        IOException
      • deserialize

        public BigDecimal deserialize​(org.apache.flink.core.memory.DataInputView source)
                               throws IOException
        Specified by:
        deserialize in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
        Throws:
        IOException
      • deserialize

        public BigDecimal deserialize​(BigDecimal reuse,
                                      org.apache.flink.core.memory.DataInputView source)
                               throws IOException
        Specified by:
        deserialize in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
        Throws:
        IOException
      • copy

        public void copy​(org.apache.flink.core.memory.DataInputView source,
                         org.apache.flink.core.memory.DataOutputView target)
                  throws IOException
        Specified by:
        copy in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>
        Throws:
        IOException
      • snapshotConfiguration

        public org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<BigDecimal> snapshotConfiguration()
        Specified by:
        snapshotConfiguration in class org.apache.flink.api.common.typeutils.TypeSerializer<BigDecimal>