Class StringSerializer

  • All Implemented Interfaces:
    Serializable

    @Internal
    public class StringSerializer
    extends org.apache.flink.api.common.typeutils.base.TypeSerializerSingleton<String>
    We create the StringSerializer instead of using the StringSerializer of flink-core module because the StringSerializer of flink-core module serialize every Char of String in serialize method and deserialize the Char to build the String. We want to convert String to UTF-8 bytes to serialize which is compatible with BinaryStringSerializer.

    So we create this StringSerializer (only used in Java and Python data communication in udf).

    StringSerializer for String.

    See Also:
    Serialized Form
    • Constructor Detail

      • StringSerializer

        public StringSerializer()
    • Method Detail

      • isImmutableType

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

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

        public String copy​(String from)
        Specified by:
        copy in class org.apache.flink.api.common.typeutils.TypeSerializer<String>
      • copy

        public String copy​(String from,
                           String reuse)
        Specified by:
        copy in class org.apache.flink.api.common.typeutils.TypeSerializer<String>
      • getLength

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

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

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

        public String deserialize​(String reuse,
                                  org.apache.flink.core.memory.DataInputView source)
                           throws IOException
        Specified by:
        deserialize in class org.apache.flink.api.common.typeutils.TypeSerializer<String>
        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<String>
        Throws:
        IOException
      • snapshotConfiguration

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