@Internal public abstract class ElasticsearchUpsertTableSinkFactoryBase extends Object implements StreamTableSinkFactory<Tuple2<Boolean,Row>>
UpsertStreamTableSink
for Elasticsearch.TableSinkFactory.Context
Constructor and Description |
---|
ElasticsearchUpsertTableSinkFactoryBase() |
Modifier and Type | Method and Description |
---|---|
protected abstract ElasticsearchUpsertTableSinkBase |
createElasticsearchUpsertTableSink(boolean isAppendOnly,
TableSchema schema,
List<ElasticsearchUpsertTableSinkBase.Host> hosts,
String index,
String docType,
String keyDelimiter,
String keyNullLiteral,
SerializationSchema<Row> serializationSchema,
org.elasticsearch.common.xcontent.XContentType contentType,
ActionRequestFailureHandler failureHandler,
Map<ElasticsearchUpsertTableSinkBase.SinkOption,String> sinkOptions) |
StreamTableSink<Tuple2<Boolean,Row>> |
createStreamTableSink(Map<String,String> properties)
Creates and configures a
StreamTableSink using the given properties. |
protected abstract String |
elasticsearchVersion() |
Map<String,String> |
requiredContext()
Specifies the context that this factory has been implemented for.
|
List<String> |
supportedProperties()
List of property keys that this factory can handle.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createTableSink
createTableSink, createTableSink
public ElasticsearchUpsertTableSinkFactoryBase()
public Map<String,String> requiredContext()
TableFactory
Typical properties might be: - connector.type - format.type
Specified property versions allow the framework to provide backwards compatible properties in case of string format changes: - connector.property-version - format.property-version
An empty context means that the factory matches for all requests.
requiredContext
in interface TableFactory
public List<String> supportedProperties()
TableFactory
Example properties might be: - schema.#.type - schema.#.name - connector.topic - format.line-delimiter - format.ignore-parse-errors - format.fields.#.type - format.fields.#.name
Note: Use "#" to denote an array of values where "#" represents one or more digits. Property versions like "format.property-version" must not be part of the supported properties.
In some cases it might be useful to declare wildcards "*". Wildcards can only be declared at the end of a property key.
For example, if an arbitrary format should be supported: - format.*
Note: Wildcards should be used with caution as they might swallow unsupported properties and thus might lead to undesired behavior.
supportedProperties
in interface TableFactory
public StreamTableSink<Tuple2<Boolean,Row>> createStreamTableSink(Map<String,String> properties)
StreamTableSinkFactory
StreamTableSink
using the given properties.createStreamTableSink
in interface StreamTableSinkFactory<Tuple2<Boolean,Row>>
properties
- normalized properties describing a table sink.protected abstract String elasticsearchVersion()
protected abstract ElasticsearchUpsertTableSinkBase createElasticsearchUpsertTableSink(boolean isAppendOnly, TableSchema schema, List<ElasticsearchUpsertTableSinkBase.Host> hosts, String index, String docType, String keyDelimiter, String keyNullLiteral, SerializationSchema<Row> serializationSchema, org.elasticsearch.common.xcontent.XContentType contentType, ActionRequestFailureHandler failureHandler, Map<ElasticsearchUpsertTableSinkBase.SinkOption,String> sinkOptions)
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.