T
- The type of the element handled by this ElasticsearchSinkFunction
@PublicEvolving public interface ElasticsearchSinkFunction<T> extends Serializable, Function
ActionRequests
from an element in a stream.
This is used by sinks to prepare elements for sending them to Elasticsearch.
Example:
private static class TestElasticSearchSinkFunction implements
ElasticsearchSinkFunction<Tuple2<Integer, String>> {
public IndexRequest createIndexRequest(Tuple2<Integer, String> element) {
Map<String, Object> json = new HashMap<>();
json.put("data", element.f1);
return Requests.indexRequest()
.index("my-index")
.type("my-type")
.id(element.f0.toString())
.source(json);
}
public void process(Tuple2<Integer, String> element, RuntimeContext ctx, RequestIndexer indexer) {
indexer.add(createIndexRequest(element));
}
}
Modifier and Type | Method and Description |
---|---|
default void |
open()
Initialization method for the function.
|
void |
process(T element,
RuntimeContext ctx,
RequestIndexer indexer)
Process the incoming element to produce multiple
ActionsRequests . |
default void open()
void process(T element, RuntimeContext ctx, RequestIndexer indexer)
ActionsRequests
. The
produced requests should be added to the provided RequestIndexer
.element
- incoming element to processctx
- runtime context containing information about the sink instanceindexer
- request indexer that ActionRequest
should be added toCopyright © 2014–2021 The Apache Software Foundation. All rights reserved.