Class PaimonSink<InputT>

  • All Implemented Interfaces:
    Serializable, org.apache.flink.api.connector.sink2.Sink<InputT>, org.apache.flink.api.connector.sink2.SupportsCommitter<org.apache.paimon.flink.sink.MultiTableCommittable>, org.apache.flink.api.connector.sink2.SupportsWriterState<InputT,​PaimonWriterState>, org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink<InputT,​org.apache.paimon.flink.sink.MultiTableCommittable>, org.apache.flink.streaming.api.connector.sink2.SupportsPreCommitTopology<org.apache.paimon.flink.sink.MultiTableCommittable,​org.apache.paimon.flink.sink.MultiTableCommittable>
    Direct Known Subclasses:
    PaimonEventSink

    public class PaimonSink<InputT>
    extends Object
    implements org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink<InputT,​org.apache.paimon.flink.sink.MultiTableCommittable>, org.apache.flink.streaming.api.connector.sink2.SupportsPreCommitTopology<org.apache.paimon.flink.sink.MultiTableCommittable,​org.apache.paimon.flink.sink.MultiTableCommittable>, org.apache.flink.api.connector.sink2.SupportsWriterState<InputT,​PaimonWriterState>
    A Sink for Paimon. Maintain this package until Paimon has it own sinkV2 implementation.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.flink.api.connector.sink2.Sink

        org.apache.flink.api.connector.sink2.Sink.InitContext, org.apache.flink.api.connector.sink2.Sink.InitContextWrapper
      • Nested classes/interfaces inherited from interface org.apache.flink.api.connector.sink2.SupportsWriterState

        org.apache.flink.api.connector.sink2.SupportsWriterState.WithCompatibleState
      • Nested classes/interfaces inherited from interface org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink

        org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter<InputT extends Object,​CommT extends Object>
    • Field Detail

      • catalogOptions

        protected final org.apache.paimon.options.Options catalogOptions
      • commitUser

        protected final String commitUser
        The commitUser should be restored in state and restore it in writer.
    • Method Detail

      • createWriter

        public PaimonWriter<InputT> createWriter​(org.apache.flink.api.connector.sink2.WriterInitContext context)
        Specified by:
        createWriter in interface org.apache.flink.api.connector.sink2.Sink<InputT>
      • createWriter

        @Deprecated
        public PaimonWriter<InputT> createWriter​(org.apache.flink.api.connector.sink2.Sink.InitContext context)
        Deprecated.
        Specified by:
        createWriter in interface org.apache.flink.api.connector.sink2.Sink<InputT>
      • restoreWriter

        public org.apache.flink.api.connector.sink2.StatefulSinkWriter<InputT,​PaimonWriterState> restoreWriter​(org.apache.flink.api.connector.sink2.WriterInitContext context,
                                                                                                                     Collection<PaimonWriterState> paimonWriterStates)
        Specified by:
        restoreWriter in interface org.apache.flink.api.connector.sink2.SupportsWriterState<InputT,​PaimonWriterState>
      • createCommitter

        public org.apache.flink.api.connector.sink2.Committer<org.apache.paimon.flink.sink.MultiTableCommittable> createCommitter​(org.apache.flink.api.connector.sink2.CommitterInitContext context)
        Specified by:
        createCommitter in interface org.apache.flink.api.connector.sink2.SupportsCommitter<InputT>
        Specified by:
        createCommitter in interface org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink<InputT,​org.apache.paimon.flink.sink.MultiTableCommittable>
      • createCommitter

        public org.apache.flink.api.connector.sink2.Committer<org.apache.paimon.flink.sink.MultiTableCommittable> createCommitter()
        Specified by:
        createCommitter in interface org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink<InputT,​org.apache.paimon.flink.sink.MultiTableCommittable>
      • getCommittableSerializer

        public org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.paimon.flink.sink.MultiTableCommittable> getCommittableSerializer()
        Specified by:
        getCommittableSerializer in interface org.apache.flink.api.connector.sink2.SupportsCommitter<InputT>
      • getWriteResultSerializer

        public org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.paimon.flink.sink.MultiTableCommittable> getWriteResultSerializer()
        Specified by:
        getWriteResultSerializer in interface org.apache.flink.streaming.api.connector.sink2.SupportsPreCommitTopology<org.apache.paimon.flink.sink.MultiTableCommittable,​org.apache.paimon.flink.sink.MultiTableCommittable>
      • addPreCommitTopology

        public org.apache.flink.streaming.api.datastream.DataStream<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<org.apache.paimon.flink.sink.MultiTableCommittable>> addPreCommitTopology​(org.apache.flink.streaming.api.datastream.DataStream<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<org.apache.paimon.flink.sink.MultiTableCommittable>> committables)
        Specified by:
        addPreCommitTopology in interface org.apache.flink.streaming.api.connector.sink2.SupportsPreCommitTopology<org.apache.paimon.flink.sink.MultiTableCommittable,​org.apache.paimon.flink.sink.MultiTableCommittable>
      • getWriterStateSerializer

        public org.apache.flink.core.io.SimpleVersionedSerializer<PaimonWriterState> getWriterStateSerializer()
        Specified by:
        getWriterStateSerializer in interface org.apache.flink.api.connector.sink2.SupportsWriterState<InputT,​PaimonWriterState>