Class Elasticsearch8AsyncSink<InputT>
- java.lang.Object
-
- org.apache.flink.connector.base.sink.AsyncSinkBase<InputT,RequestEntryT>
-
- org.apache.flink.connector.base.sink.AsyncSinkBaseAdapter<InputT,Operation>
-
- org.apache.flink.cdc.connectors.elasticsearch.v2.Elasticsearch8AsyncSink<InputT>
-
- Type Parameters:
InputT- type of records that will be converted intoOperation. SeeElasticsearch8AsyncSinkBuilderon 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
-
-
Field Summary
Fields Modifier and Type Field Description protected NetworkConfignetworkConfig
-
Constructor Summary
Constructors Modifier Constructor Description protectedElasticsearch8AsyncSink(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 newSinkWriterfor 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 aStatefulSinkWriterAdapterfrom 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
-
-
-
-
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 newSinkWriterfor 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 aStatefulSinkWriterAdapterfrom a previously saved state.- Specified by:
restoreWriterAdapterin classorg.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.
-
-