T - The type of the element handled by this ElasticsearchEmitter@PublicEvolving
public interface ElasticsearchEmitter<T>
extends org.apache.flink.api.common.functions.Function
ActionRequests from the incoming elements.
This is used by sinks to prepare elements for sending them to Elasticsearch.
Example:
private static class TestElasticsearchEmitter implements ElasticsearchEmitter<Tuple2<Integer, String>> {
public IndexRequest createIndexRequest(Tuple2<Integer, String> element) {
Map<String, Object> document = new HashMap<>();
document.put("data", element.f1);
return Requests.indexRequest()
.index("my-index")
.type("my-type")
.id(element.f0.toString())
.source(document);
}
public void emit(Tuple2<Integer, String> element, RequestIndexer indexer) {
indexer.add(createIndexRequest(element));
}
}
| Modifier and Type | Method and Description |
|---|---|
default void |
close()
Tear-down method for the function.
|
void |
emit(T element,
org.apache.flink.api.connector.sink2.SinkWriter.Context context,
RequestIndexer indexer)
Process the incoming element to produce multiple
ActionRequests. |
default void |
open()
Initialization method for the function.
|
default void open()
throws Exception
Exceptiondefault void close()
throws Exception
Exceptionvoid emit(T element, org.apache.flink.api.connector.sink2.SinkWriter.Context context, RequestIndexer indexer)
ActionRequests. The
produced requests should be added to the provided RequestIndexer.element - incoming element to processcontext - to access additional information about the recordindexer - request indexer that ActionRequest should be added toCopyright © 2014–2022 The Apache Software Foundation. All rights reserved.