@Internal public abstract class ElasticsearchUpsertTableSinkFactoryBase extends Object implements org.apache.flink.table.factories.StreamTableSinkFactory<Tuple2<Boolean,Row>>
UpsertStreamTableSink
for Elasticsearch.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) |
org.apache.flink.table.sinks.StreamTableSink<Tuple2<Boolean,Row>> |
createStreamTableSink(Map<String,String> 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.
|
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 org.apache.flink.table.sinks.StreamTableSink<Tuple2<Boolean,Row>> createStreamTableSink(Map<String,String> properties)
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–2020 The Apache Software Foundation. All rights reserved.