Class Elasticsearch8AsyncSink<InputT>

  • Type Parameters:
    InputT - type of records that will be converted into Operation. See Elasticsearch8AsyncSinkBuilder on how to construct valid instances.
    All Implemented Interfaces:
    Serializable, org.apache.flink.api.connector.sink2.Sink<InputT>, org.apache.flink.api.connector.sink2.StatefulSink<InputT,​org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>>, org.apache.flink.api.connector.sink2.SupportsWriterState<InputT,​org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>>

    public class Elasticsearch8AsyncSink<InputT>
    extends org.apache.flink.connector.base.sink.AsyncSinkBaseAdapter<InputT,​Operation>
    Elasticsearch8AsyncSink is Apache Flink's Async Sink that submits Operations into an Elasticsearch cluster.
    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.StatefulSink

        org.apache.flink.api.connector.sink2.StatefulSink.StatefulSinkWriter<InputT extends Object,​WriterStateT extends Object>, org.apache.flink.api.connector.sink2.StatefulSink.WithCompatibleState
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Elasticsearch8AsyncSink​(org.apache.flink.connector.base.sink.writer.ElementConverter<InputT,​Operation> converter, int maxBatchSize, int maxInFlightRequests, int maxBufferedRequests, long maxBatchSizeInBytes, long maxTimeInBufferMS, long maxRecordSizeInByte, NetworkConfig networkConfig)
      Constructs an Elasticsearch8AsyncSink.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.flink.api.connector.sink2.SinkWriter<InputT> createWriter​(org.apache.flink.api.connector.sink2.Sink.InitContext context)
      Creates a new SinkWriter for writing elements to Elasticsearch.
      org.apache.flink.api.connector.sink2.SinkWriter<InputT> createWriter​(org.apache.flink.api.connector.sink2.WriterInitContext context)  
      org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>> getWriterStateSerializer()
      Returns the serializer for the writer's state.
      org.apache.flink.api.connector.sink2.StatefulSinkWriterAdapter<InputT,​org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>> restoreWriterAdapter​(org.apache.flink.api.connector.sink2.WriterInitContext context, Collection<org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>> recoveredState)
      Restores a StatefulSinkWriterAdapter from a previously saved state.
      • Methods inherited from class org.apache.flink.connector.base.sink.AsyncSinkBaseAdapter

        restoreWriter
      • Methods inherited from class org.apache.flink.connector.base.sink.AsyncSinkBase

        getElementConverter, getFailOnTimeout, getMaxBatchSize, getMaxBatchSizeInBytes, getMaxBufferedRequests, getMaxInFlightRequests, getMaxRecordSizeInBytes, getMaxTimeInBufferMS, getRequestTimeoutMS
      • Methods inherited from interface org.apache.flink.api.connector.sink2.StatefulSink

        restoreWriter
    • Field Detail

      • networkConfig

        @VisibleForTesting
        protected final NetworkConfig networkConfig
    • Constructor Detail

      • Elasticsearch8AsyncSink

        protected Elasticsearch8AsyncSink​(org.apache.flink.connector.base.sink.writer.ElementConverter<InputT,​Operation> converter,
                                          int maxBatchSize,
                                          int maxInFlightRequests,
                                          int maxBufferedRequests,
                                          long maxBatchSizeInBytes,
                                          long maxTimeInBufferMS,
                                          long maxRecordSizeInByte,
                                          NetworkConfig networkConfig)
        Constructs an Elasticsearch8AsyncSink.
        Parameters:
        converter - the converter that transforms input records to Elasticsearch operations.
        maxBatchSize - the maximum number of records to be included in a single batch.
        maxInFlightRequests - the maximum number of in-flight requests.
        maxBufferedRequests - the maximum number of buffered requests.
        maxBatchSizeInBytes - the maximum size of a batch in bytes.
        maxTimeInBufferMS - the maximum time a request can stay in the buffer before being flushed.
        maxRecordSizeInByte - the maximum size of a single record in bytes.
        networkConfig - the network configuration for Elasticsearch.
    • Method Detail

      • createWriter

        public org.apache.flink.api.connector.sink2.SinkWriter<InputT> createWriter​(org.apache.flink.api.connector.sink2.Sink.InitContext context)
        Creates a new SinkWriter for writing elements to Elasticsearch.
        Parameters:
        context - the initialization context.
        Returns:
        a new instance of Elasticsearch8AsyncWriter.
      • createWriter

        public org.apache.flink.api.connector.sink2.SinkWriter<InputT> createWriter​(org.apache.flink.api.connector.sink2.WriterInitContext context)
                                                                             throws IOException
        Throws:
        IOException
      • restoreWriterAdapter

        public org.apache.flink.api.connector.sink2.StatefulSinkWriterAdapter<InputT,​org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>> restoreWriterAdapter​(org.apache.flink.api.connector.sink2.WriterInitContext context,
                                                                                                                                                                                             Collection<org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>> recoveredState)
                                                                                                                                                                                      throws IOException
        Restores a StatefulSinkWriterAdapter from a previously saved state.
        Specified by:
        restoreWriterAdapter in class org.apache.flink.connector.base.sink.AsyncSinkBaseAdapter<InputT,​Operation>
        Parameters:
        context - the initialization context.
        recoveredState - the recovered state.
        Returns:
        a restored instance of Elasticsearch8AsyncWriter.
        Throws:
        IOException
      • getWriterStateSerializer

        public org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.flink.connector.base.sink.writer.BufferedRequestState<Operation>> getWriterStateSerializer()
        Returns the serializer for the writer's state.
        Returns:
        an instance of Elasticsearch8AsyncSinkSerializer.